{"version":3,"file":"main.js","mappings":"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Cd;EACA;EACAE,8FAAqB;EACrB;EACA;EACAwB,kFAAe,EACfvB,kFAAqB,EACrBE,8EAAa,EACbE,sFAAiB;EACjB;EACA;EACA;EACAC,qEAAe,EACfgB,wEAAgB;EAChB;EACA;EACAf,iEAAa,EACbE,iFAAc,EACdE,+EAAa,EACbE,+EAAa;EACb;EACAE,yFAAkB;EAClB;EACAE,sGAAwB,EACxBE,iFAAc;EACd;EACAE,mFAAe;EACf;EACA;EACA;EACAK,wFAAiB,EACjBC,kEAAa,EACbE,iFAAc;EACd;EACAC,wEAAgB,EAChBC,wEAAgB;AAAA;;sHAMPzsC,cAAc;IAAA7E,OAAA,GA3FvBovC,yDAAY;IACZ;IACA;IACA;IACAC,8DAAc;IACd;IACA;IACAE,8FAAqB;IACrB;IACA;IACAwB,kFAAe,EACfvB,kFAAqB,EACrBE,8EAAa,EACbE,sFAAiB;IACjB;IACA;IACA;IACCC,qEAAe;IAChB;IACA;IACA;IACAC,iEAAa,EACbE,iFAAc,EACdE,+EAAa,EACbE,+EAAa;IACb;IACAE,yFAAkB;IAClB;IACA;IACAI,iFAAc;IACd;IACAE,mFAAe;IACf;IACA;IACA;IACAK,wFAAiB,EACjBC,kEAAa,EACbE,iFAAc;IACd;IACAC,wEAAgB,EAChBC,wEAAgB;IAAApxC,OAAA;IAMhB;IACA;IACA;IACAmvC,8DAAc;IACd;IACA;IACAE,8FAAqB;IACrB;IACA;IACAwB,kFAAe,EACfvB,kFAAqB,EACrBE,8EAAa,EACbE,sFAAiB;IACjB;IACA;IACA;IACAC,qEAAe,EACfgB,wEAAgB;IAChB;IACA;IACAf,iEAAa,EACbE,iFAAc,EACdE,+EAAa,EACbE,+EAAa;IACb;IACAE,yFAAkB;IAClB;IACAE,sGAAwB,EACxBE,iFAAc;IACd;IACAE,mFAAe;IACf;IACA;IACA;IACAK,wFAAiB,EACjBC,kEAAa,EACbE,iFAAc;IACd;IACAC,wEAAgB,EAChBC,wEAAgB;EAAA;AAAA;;;;;;;;;;;;;;ACtIb,MAAM3wC,UAAU,GAAG;EACtB,gBAAgB,EAAE;CACnB;;;;;;;;;;;;;;;;ACDH;AACA;AACA;AAEO,MAAMqiC,WAAW,GAAG;EACzBuO,UAAU,EAAE,KAAK;EACjBC,eAAe,EAAE,KAAK;EACtBC,IAAI,EAAE,UAAU;EAEhBrO,gBAAgB,EAAE,KAAK,CAAC;CACzB;;AAEM,MAAMj+B,gBAAgB,GAAG;EAC9BmC,UAAU,EAAE,uCAAuC;EACnDoqC,kBAAkB,EAAE;CACrB;AAEM,MAAM/zC,WAAW,GAAe;EACrCg0C,QAAQ,EAAE,oDAAoD;EAC9DC,KAAK,EAAE,iDAAiD;EACxDnoB,YAAY,EAAE,MAAM;EACpBooB,WAAW,EAAE,kCAAkC;EAC/CC,mBAAmB,EAAE,IAAI;EACzBC,MAAM,EAAE,4BAA4B;EACpCC,aAAa,EAAE,mDAAmD;EAClElzC,QAAQ,EAAE,uDAAuD;EACjEitC,SAAS,EAAE;CACZ;AAED;;;;;;;AAOA;;;;;;;;;;;;;;;;ACtC+C;AAGF;AACY;AAEzD,IAAI/I,6EAAsB,EAAE;EAC1BiP,6DAAc,EAAE;;AAGlBC,sEAAA,EAAwB,CAACE,eAAe,CAACvrC,sDAAS,CAAC,CAChD8lC,KAAK,CAACjqB,GAAG,IAAIlO,OAAO,CAACuO,KAAK,CAACL,GAAG,CAAC,CAAC","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/branding-bar/branding-bar.component.ts","./src/app/components/branding-bar/branding-bar.component.html","./src/app/components/computer-chooser/computer-chooser.component.ts","./src/app/components/computer-chooser/computer-chooser.component.html","./src/app/components/dialog-bodies/computer-details/computer-details.component.ts","./src/app/components/dialog-bodies/computer-details/computer-details.component.html","./src/app/components/dialog-bodies/confirm-changes/confirm-changes.component.ts","./src/app/components/dialog-bodies/confirm-changes/confirm-changes.component.html","./src/app/components/dialog-bodies/confirm-software-changes-org/confirm-software-changes-org.component.ts","./src/app/components/dialog-bodies/confirm-software-changes-org/confirm-software-changes-org.component.html","./src/app/components/dialog-bodies/confirm-software-changes/confirm-software-changes.component.ts","./src/app/components/dialog-bodies/confirm-software-changes/confirm-software-changes.component.html","./src/app/components/dialog-bodies/confirm/confirm.component.ts","./src/app/components/dialog-bodies/confirm/confirm.component.html","./src/app/components/dialog-bodies/edit-org-structure/edit-org-structure.component.ts","./src/app/components/dialog-bodies/edit-org-structure/edit-org-structure.component.html","./src/app/components/dialog-bodies/edit-subscriptions/edit-subscriptions.component.ts","./src/app/components/dialog-bodies/edit-subscriptions/edit-subscriptions.component.html","./src/app/components/dialog-bodies/error-snack/error-snack.component.ts","./src/app/components/dialog-bodies/error-snack/error-snack.component.html","./src/app/components/dialog-bodies/org-details/org-details.component.ts","./src/app/components/dialog-bodies/session-expired/session-expired.component.ts","./src/app/components/dialog-bodies/session-expired/session-expired.component.html","./src/app/components/dialog-bodies/software-deploy-to-computer/software-deploy-to-computer.component.ts","./src/app/components/dialog-bodies/software-deploy-to-computer/software-deploy-to-computer.component.html","./src/app/components/dialog-bodies/software-deploy-to-org/software-deploy-to-org.component.ts","./src/app/components/dialog-bodies/software-deploy-to-org/software-deploy-to-org.component.html","./src/app/components/dialog-bodies/software-summary-org/software-summary-org.component.ts","./src/app/components/dialog-bodies/software-summary-org/software-summary-org.component.html","./src/app/components/dialog-bodies/software-summary/software-summary.component.ts","./src/app/components/dialog-bodies/software-summary/software-summary.component.html","./src/app/components/errors/misc/misc.component.ts","./src/app/components/errors/misc/misc.component.html","./src/app/components/errors/page-not-found/page-not-found.component.ts","./src/app/components/errors/page-not-found/page-not-found.component.html","./src/app/components/help/help.component.ts","./src/app/components/help/help.component.html","./src/app/components/logged-out/logged-out.component.ts","./src/app/components/logged-out/logged-out.component.html","./src/app/components/org-chooser/org-chooser.component.ts","./src/app/components/org-chooser/org-chooser.component.html","./src/app/components/settings/settings.component.ts","./src/app/components/settings/settings.component.html","./src/app/components/user-tool-bar/user-tool-bar.component.ts","./src/app/components/user-tool-bar/user-tool-bar.component.html","./src/app/components/welcome/welcome.component.ts","./src/app/components/welcome/welcome.component.html","./src/app/components/widgets/helpdesk-link/helpdesk-link.component.ts","./src/app/components/widgets/helpdesk-link/helpdesk-link.component.html","./src/app/components/widgets/loading/loading.component.ts","./src/app/components/widgets/loading/loading.component.html","./src/app/components/widgets/title-bar/title-bar.component.ts","./src/app/components/widgets/title-bar/title-bar.component.html","./src/app/guards/auth.guard.ts","./src/app/guards/role.guard.ts","./src/app/interceptors/auth-header.interceptor.ts","./src/app/models/active-user.ts","./src/app/models/app-error.ts","./src/app/models/computer-filter.ts","./src/app/models/computer.ts","./src/app/models/org-filter.ts","./src/app/models/org-group.ts","./src/app/models/org-structure.ts","./src/app/models/software.ts","./src/app/models/subscription-codes.ts","./src/app/models/subscription-delta.ts","./src/app/models/subscription.ts","./src/app/models/user-filter.ts","./src/app/models/user.ts","./src/app/resolvers/computer.resolver.ts","./src/app/resolvers/computers.resolver.ts","./src/app/resolvers/org-group.resolver.ts","./src/app/resolvers/org-groups.resolver.ts","./src/app/resolvers/org-structure.resolver.ts","./src/app/resolvers/subscription.resolver.ts","./src/app/resolvers/user-with-fallback.resolver.ts","./src/app/resolvers/user.resolver.ts","./src/app/services/community-auth.service.ts","./src/app/services/error.service.ts","./src/app/services/memberof-utility.service.ts","./src/app/services/org-struct-pipes.factory.ts","./src/app/services/software.service.ts","./src/app/shared/modules/material/material.module.ts","./src/app/types/error-types.ts","./src/environments/environment.qa.ts","./src/main.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { OAuthConfig } from 'src/environments/environment';\nimport { ComputerChooserComponent } from './components/computer-chooser/computer-chooser.component';\nimport { MiscErrorComponent } from './components/errors/misc/misc.component';\nimport { PageNotFoundComponent } from './components/errors/page-not-found/page-not-found.component';\nimport { HelpComponent } from './components/help/help.component';\nimport { LoggedOutComponent } from './components/logged-out/logged-out.component';\nimport { SettingsComponent } from './components/settings/settings.component';\nimport { AuthGuard } from './guards/auth.guard';\nimport { ComputerResolver } from './resolvers/computer.resolver';\nimport { ComputersResolver } from './resolvers/computers.resolver';\nimport { OrgStructureResolver } from './resolvers/org-structure.resolver';\nimport { SubscriptionResolver } from './resolvers/subscription.resolver';\nimport { UserWithFallbackResolver } from './resolvers/user-with-fallback.resolver';\nimport { UserResolver } from './resolvers/user.resolver';\nimport { OrgGroupChooserComponent } from './components/org-chooser/org-chooser.component';\nimport { OrgGroupResolver } from './resolvers/org-group.resolver';\nimport { OrgGroupsResolver } from './resolvers/org-groups.resolver';\n\nconst routes: Routes = [\n { path: 'should-login', redirectTo: OAuthConfig.loginUrl },\n { path: 'logged-out', component: LoggedOutComponent },\n {\n path: 'help',\n children: [\n { path: '', component: HelpComponent },\n { path: 'unknown-error', component: MiscErrorComponent },\n { path: 'not-found', component: PageNotFoundComponent },\n ]\n },\n {\n path: 'computers',\n resolve: { orgStructureOptions: OrgStructureResolver, results: ComputersResolver, subscriptionOptions: SubscriptionResolver, user: UserResolver },\n canActivate: [AuthGuard],\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: ':computerName',\n resolve: { computers: ComputerResolver },\n children: [\n { path: 'org-structure', component: ComputerChooserComponent, data: { dialog: 'edit-org-structure' } },\n { path: 'subscriptions', component: ComputerChooserComponent, data: { dialog: 'edit-subscriptions' } },\n { path: 'details', component: ComputerChooserComponent, data: { dialog: 'show-more-info' } },\n ]\n },\n { path: '', canActivate: [AuthGuard], component: ComputerChooserComponent }\n ]\n },\n {\n path: 'orgs',\n resolve: { orgStructureOptions: OrgStructureResolver, results: OrgGroupsResolver, subscriptionOptions: SubscriptionResolver, user: UserResolver },\n canActivate: [AuthGuard],\n runGuardsAndResolvers: 'always',\n children: [\n {\n path: ':org',\n resolve: { orgs: OrgGroupResolver },\n children: [\n { path: 'org-structure', component: OrgGroupChooserComponent, data: { dialog: 'edit-org-structure' } },\n { path: 'subscriptions', component: OrgGroupChooserComponent, data: { dialog: 'edit-subscriptions' } },\n { path: 'details', component: OrgGroupChooserComponent, data: { dialog: 'show-more-info' } },\n ]\n },\n { path: '', canActivate: [AuthGuard], component: OrgGroupChooserComponent }\n ]\n },\n { path: '', redirectTo: 'computers', pathMatch: \"full\" },\n { path: '**', component: PageNotFoundComponent, resolve: { user: UserWithFallbackResolver } }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { enableTracing: false })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { filter, tap, pairwise, debounceTime } from 'rxjs';\nimport { SessionExpiredComponent } from './components/dialog-bodies/session-expired/session-expired.component';\nimport { CommunityAuthService } from './services/community-auth.service';\nimport { ErrorService } from './services/error.service';\nimport { ErrorTypes } from './types/error-types';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'ecm.endusersupporttools';\n loading: boolean = false;\n loadingMessage: string = \"Loading...\";\n\n constructor(\n public authService: CommunityAuthService,\n public oauthService: OAuthService,\n public errorService: ErrorService,\n private _matDialog: MatDialog,\n private _router: Router\n ) {\n errorService.errors$.pipe(\n filter(appErr => appErr.code == ErrorTypes.HTTP_UNAUTH401),\n tap(this._sessionExpired.bind(this))\n ).subscribe();\n\n authService.isAuthenticated$.pipe(\n pairwise(),\n filter(([a, b]) => a && !b),\n tap(this._sessionExpired.bind(this)))\n .subscribe();\n\n this._router.events\n .pipe(\n filter(e => e instanceof NavigationStart && (!e.url.startsWith(\"/computers\") || !this._router.routerState.snapshot.url?.startsWith(\"/computers\"))))\n .subscribe(e => this.loading = true);\n this._router.events\n .pipe(filter(e => !![NavigationEnd, NavigationCancel, NavigationError].find(n => e instanceof n)))\n .subscribe(e => this.loading = false);\n }\n\n private _sessionExpired() {\n this._matDialog.open(SessionExpiredComponent, { disableClose: true })\n }\n}","
\n \n
\n\n\n","import { ClassProvider, NgModule, ValueProvider } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { BrandingBarComponent } from './components/branding-bar/branding-bar.component';\nimport { ErrorSnackComponent } from './components/dialog-bodies/error-snack/error-snack.component';\nimport { SessionExpiredComponent } from './components/dialog-bodies/session-expired/session-expired.component';\nimport { MiscErrorComponent } from './components/errors/misc/misc.component';\nimport { PageNotFoundComponent } from './components/errors/page-not-found/page-not-found.component';\nimport { HelpComponent } from './components/help/help.component';\nimport { LoggedOutComponent } from './components/logged-out/logged-out.component';\nimport { WelcomeComponent } from './components/welcome/welcome.component';\nimport { HelpdeskLinkComponent } from './components/widgets/helpdesk-link/helpdesk-link.component';\nimport { LoadingComponent } from './components/widgets/loading/loading.component';\nimport { TitleBarComponent } from './components/widgets/title-bar/title-bar.component';\nimport { ComputerChooserComponent } from './components/computer-chooser/computer-chooser.component';\nimport { MaterialModule } from './shared/modules/material/material.module';\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';\nimport { apiConfiguration, OAuthConfig } from 'src/environments/environment';\nimport { CommunityAuthService } from './services/community-auth.service';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AuthGuard } from './guards/auth.guard';\nimport { ComputerDetailsComponent } from './components/dialog-bodies/computer-details/computer-details.component';\nimport { RoleGuard } from './guards/role.guard';\nimport { AuthHeaderInterceptor } from './interceptors/auth-header.interceptor';\nimport { OrgStructureResolver } from './resolvers/org-structure.resolver';\nimport { EditOrgStructureComponent } from './components/dialog-bodies/edit-org-structure/edit-org-structure.component';\nimport { OrgStructurePipesFactory } from './services/org-struct-pipes.factory';\nimport { EditSubscriptionsComponent } from './components/dialog-bodies/edit-subscriptions/edit-subscriptions.component';\nimport { SubscriptionResolver } from './resolvers/subscription.resolver';\nimport { ComputerResolver } from './resolvers/computer.resolver';\nimport { ComputersResolver } from './resolvers/computers.resolver';\nimport { RouterModule } from '@angular/router';\nimport { SettingsComponent } from './components/settings/settings.component';\nimport { UserResolver } from './resolvers/user.resolver';\nimport { UserToolBarComponent } from './components/user-tool-bar/user-tool-bar.component';\nimport { ConfirmComponent } from './components/dialog-bodies/confirm/confirm.component';\nimport { UserWithFallbackResolver } from './resolvers/user-with-fallback.resolver';\nimport { ConfirmChangesComponent } from './components/dialog-bodies/confirm-changes/confirm-changes.component';\nimport { ConfirmSoftwareChangesComponent } from './components/dialog-bodies/confirm-software-changes/confirm-software-changes.component';\nimport { MemberOfUtilityService } from './services/memberof-utility.service';\nimport { SoftwareDeployToComputerComponent } from './components/dialog-bodies/software-deploy-to-computer/software-deploy-to-computer.component';\nimport { SoftwareService } from './services/software.service';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport {CdkVirtualScrollViewport} from \"@angular/cdk/scrolling\";\nimport { SoftwareSummaryComponent } from './components/dialog-bodies/software-summary/software-summary.component';\nimport { OrgGroupChooserComponent } from './components/org-chooser/org-chooser.component';\nimport { SoftwareDeployToOrgComponent } from './components/dialog-bodies/software-deploy-to-org/software-deploy-to-org.component'; \nimport { OrgDetailsComponent } from './components/dialog-bodies/org-details/org-details.component';\nimport { OrgGroupResolver } from './resolvers/org-group.resolver';\nimport { OrgGroupsResolver } from './resolvers/org-groups.resolver';\nimport { ConfirmSoftwareChangesOrgComponent } from './components/dialog-bodies/confirm-software-changes-org/confirm-software-changes-org.component';\nimport { SoftwareSummaryOrgComponent } from './components/dialog-bodies/software-summary-org/software-summary-org.component';\n\nexport function storageFactory(): OAuthStorage {\n return localStorage;\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n PageNotFoundComponent,\n TitleBarComponent,\n MiscErrorComponent,\n HelpComponent,\n HelpdeskLinkComponent,\n LoggedOutComponent,\n WelcomeComponent,\n BrandingBarComponent,\n SessionExpiredComponent,\n ErrorSnackComponent,\n LoadingComponent,\n ComputerChooserComponent,\n ComputerDetailsComponent,\n EditOrgStructureComponent,\n EditSubscriptionsComponent,\n SettingsComponent,\n UserToolBarComponent,\n ConfirmComponent,\n ConfirmChangesComponent,\n ConfirmSoftwareChangesComponent,\n SoftwareDeployToComputerComponent,\n SoftwareSummaryComponent,\n OrgGroupChooserComponent,\n SoftwareDeployToOrgComponent,\n OrgDetailsComponent,\n ConfirmSoftwareChangesOrgComponent,\n SoftwareSummaryOrgComponent\n ],\n imports: [\n BrowserModule,\n RouterModule,\n AppRoutingModule,\n MaterialModule,\n OAuthModule.forRoot({ resourceServer: { allowedUrls: [apiConfiguration.apiBaseUrl], sendAccessToken: true }}),\n HttpClientModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n BrowserAnimationsModule,\n ScrollingModule\n ],\n providers: [\n CommunityAuthService,\n MemberOfUtilityService,\n SoftwareService,\n { provide: OAuthStorage, useFactory: storageFactory },\n { provide: \"authConfig\", useValue: OAuthConfig },\n { provide: HTTP_INTERCEPTORS, useClass: AuthHeaderInterceptor, multi: true },\n AuthGuard,\n RoleGuard,\n OrgStructureResolver,\n SubscriptionResolver,\n UserResolver,\n UserWithFallbackResolver,\n ComputerResolver,\n ComputersResolver,\n OrgGroupResolver,\n OrgGroupsResolver,\n OrgStructurePipesFactory\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\n\n@Component({\n selector: 'app-branding-bar',\n templateUrl: './branding-bar.component.html',\n styleUrls: ['./branding-bar.component.scss'], \n encapsulation: ViewEncapsulation.None\n})\nexport class BrandingBarComponent implements OnInit {\n\n constructor(\n public authService: CommunityAuthService\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","\n
\n \n \"The\n \n
\n
","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { ComputerFilter } from 'src/app/models/computer-filter';\nimport { ComputerCollection } from 'src/app/models/computer-collection';\nimport { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator';\nimport { firstValueFrom, map, Observable, tap } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { Computer } from 'src/app/models/computer';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ComputerDetailsComponent } from '../dialog-bodies/computer-details/computer-details.component';\nimport { ActivatedRoute, Data, Router } from '@angular/router';\nimport { OrgStructure, OrgStructureDescriptor } from 'src/app/models/org-structure';\nimport { MatLegacyCheckbox as MatCheckbox } from '@angular/material/legacy-checkbox';\nimport { EditOrgStructureComponent } from '../dialog-bodies/edit-org-structure/edit-org-structure.component';\nimport { OrgStructurePipesFactory } from 'src/app/services/org-struct-pipes.factory';\nimport { EditSubscriptionsComponent } from '../dialog-bodies/edit-subscriptions/edit-subscriptions.component';\nimport { Location } from '@angular/common';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { RoleGuard } from 'src/app/guards/role.guard';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\nimport { SoftwareDeployToComputerComponent } from '../dialog-bodies/software-deploy-to-computer/software-deploy-to-computer.component';\n\n@Component({\n selector: 'app-computer-chooser',\n templateUrl: './computer-chooser.component.html',\n styleUrls: ['./computer-chooser.component.scss']\n})\nexport class ComputerChooserComponent implements OnInit {\n @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @ViewChild(\"selectAll\") selectAll!: MatCheckbox;\n filterForm!: FormGroup;\n computers!: Computer[];\n filter?: ComputerFilter;\n loading: boolean = false;\n orgStructureOptions: OrgStructure;\n filtered: { [key: string]: Observable } = {};\n allSelected: boolean = false;\n isScrolledTop: boolean = document.body.scrollTop === 0;\n anySelected: boolean = false;\n selected: Computer[] = [];\n isQuerying: boolean = true;\n private _currentParams: { [key: string]: string | null } = {};\n selectAllIndeterminate: boolean = false;\n selectAllChecked: boolean = false;\n user?: ActiveUser;\n\n constructor(\n private _fb: FormBuilder,\n private _http: HttpClient,\n private _dialog: MatDialog,\n private _route: ActivatedRoute,\n public router: Router,\n private _location: Location,\n private _orgStructurePipesFactory: OrgStructurePipesFactory,\n public authService: CommunityAuthService\n ) {\n this.orgStructureOptions = _route.snapshot.data[\"orgStructureOptions\"];\n this.filterForm = this._fb.group({ name: [''], nameOp: [''], org: [''], dept: [''], unit: [''], bldg: [''] });\n this._route.data.subscribe(this.userChanges.bind(this));\n }\n\n private userChanges({user}:{user:ActiveUser}|Data) {\n // console.log(user);\n this.user = user;\n }\n\n async ngOnInit() {\n this._route.parent?.data.subscribe(data => {\n this.isQuerying = false;\n this.computers = data[\"results\"];\n this.orgStructureOptions = data[\"orgStructureOptions\"];\n this.setupFiltering();\n this.adjustSelectAll();\n });\n this._route.parent?.queryParams.subscribe(p => {\n this._currentParams = p;\n this.filterForm.get('name')?.setValue(p[\"name\"]);\n p[\"nameOp\"] ? this.filterForm.get('nameOp')?.setValue(p[\"nameOp\"]) : this.filterForm.get('nameOp')?.setValue(\"and\");\n const abbrev: {[key: string]: string} = { 'organization': 'org', 'department': 'dept', 'unit': 'unit', 'building': 'bldg'};\n for(let key of ['organization', 'building', 'department', 'unit']) {\n if (! p[key]) continue;\n this.filterForm.get(abbrev[key])?.setValue(p[key]);\n }\n });\n }\n \n async ngAfterViewInit() {\n this.filter = new ComputerFilter(0, this.paginator.pageSize);\n this.setSort(this.filter, { direction: this.sort.direction, active: this.sort.active }, false);\n this.sort.sortChange.pipe(tap(this.setSort.bind(this, this.filter))).subscribe();\n this.paginator.page.pipe(tap(this.setPage.bind(this, this.filter))).subscribe();\n this.filterForm.valueChanges.pipe(tap(this.setFilter.bind(this, this.filter))).subscribe();\n await this.showDialogIfRequested(this._route.snapshot.data['dialog']);\n this.paginator.pageSize = localStorage[\"eustPageSize\"];\n this._route.parent?.queryParams.subscribe(p => {\n localStorage[\"eustPageSize\"] = this.paginator.pageSize = (p[\"pageSize\"] ?? localStorage[\"eustPageSize\"] ?? '10');\n this.sort.active = p[\"sortOn\"] ?? \"name\";\n this.sort.direction = p[\"sortDir\"] ?? \"asc\";\n });\n }\n\n private setupFiltering() {\n this.filtered = this._orgStructurePipesFactory.build(this.filterForm, this.orgStructureOptions);\n for (let key in this.filtered) {\n this.filtered[key] = this.filtered[key].pipe(\n map(orgs => orgs.filter(org => this.byRelated(key.toUpperCase(), org))),\n map(orgs => orgs.sort(this.sortByNameDesc)));\n }\n }\n\n private async showDialogIfRequested(dialog: string) {\n switch (dialog) {\n case 'edit-org-structure':\n await this.showEditOrgStructure(this._route.snapshot.parent?.data['computers'], false);\n break;\n case 'edit-subscriptions':\n await this.showEditSubscriptions(this._route.snapshot.data['computers'], false);\n break;\n case 'show-more-info':\n await this.showMoreInfo(this._route.snapshot.data['computers'], false);\n break;\n default:\n }\n }\n\n private sortByNameDesc(a: OrgStructureDescriptor, b: OrgStructureDescriptor) {\n if (!a.name) return 1;\n if (!b.name) return -1\n return a.name < b.name ? -1 : 1;\n }\n\n private byRelated(which: string, o: OrgStructureDescriptor) {\n if (which == 'BLDG' || which == 'ORG')\n return true;\n\n let org = this.filterForm.get('org')?.value?.toUpperCase() ?? '';\n org = org == '' ? null : org;\n if (which == \"DEPT\") {\n return o.name?.toUpperCase().startsWith(`DEPT-${org ?? ''}`);\n }\n\n let dept = this.filterForm.get('dept')?.value?.toUpperCase() ?? '';\n dept = dept == '' ? null : dept;\n const matcher = new RegExp(`^UNIT-${org ?? '.+'}-${dept ?? '.+'}`);\n return o.name != null && matcher.test(o.name.toUpperCase());\n }\n\n handleFormKeydown(ev: any) {\n switch (ev.key) {\n case \"Enter\": this.search(); break;\n }\n }\n\n public async search() {\n this.isQuerying = true;\n const queryParams: { [key: string]: string | number | undefined | null } = {};\n for(let key in this.filter?.data) {\n //console.log(\"key=\", key, '; value=', this.filter?.data[key]?.value, this._currentParams[key])\n if (this.filter?.data[key]?.value) {\n queryParams[key] = this.filter?.data[key]?.value;\n }\n else if (key==\"nameOp\"){\n var nameLength = this.filter?.data[\"name\"]?.value?.split(' ').length;\n if (nameLength && nameLength==1)\n queryParams[key] = \"or\";\n else if (nameLength && nameLength>1)\n queryParams[key] = this.filter?.data[key]?.value ?? \"and\";\n } \n else {\n queryParams[key] = null;\n }\n }\n queryParams['pageSize'] = this.filter?.pageSize;\n queryParams['sortOn'] = this.filter?.SortSpecifications[0]?.property;\n queryParams['sortDir'] = this.filter?.SortSpecifications[0]?.direction;\n queryParams['selected'] = null;\n if (this.selectAll)\n this.selectAll.checked = false;\n this.router.navigate(['/computers'], { queryParams, queryParamsHandling: 'merge' })\n }\n\n private async showDialog(comp: ComponentType, config: MatDialogConfig, virtualPath: string[], showVirtualPath: boolean = true, queryParams?: { selected: string }) {\n virtualPath.unshift('/computers');\n if (showVirtualPath) {\n this._location.go(this.router.createUrlTree(virtualPath, { queryParams, queryParamsHandling: 'merge' }).toString());\n }\n config.data.user = this.user;\n const value = await firstValueFrom(this._dialog.open(comp, config).afterClosed());\n \n const queryParamsToRemove = { 'selected': null };\n const root = this.router.createUrlTree(['/computers'], { queryParams: queryParamsToRemove, queryParamsHandling: 'merge' }).toString()\n this._location.go(root); \n return value;\n }\n\n public async showMoreInfo(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.data = { computers, orgOptions: this.orgStructureOptions, subOptions: this._route.snapshot.data['subscriptionOptions'] };\n await this.showDialog(ComputerDetailsComponent, config, [computers[0].name, 'details'], showVirtualPath);\n }\n\n public async showEditOrgStructure(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"40vw\";\n config.height = \"75vh\";\n config.data = { computers, options: this.orgStructureOptions };\n //const queryParams = computers.reduce((prev, cur) => { prev['selected'].push(cur); return prev; }, { selected: new Array() })\n const updates = await this.showDialog(EditOrgStructureComponent, config, [computers[0].name, 'org-structure'], showVirtualPath );\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public applyLocalUpdates(updates: Computer[]) {\n for (let i=0; i c.name == updates[i].name)\n if (index >= 0) {\n //console.log(`Splicing ${index},1 with ${update[0]}`)\n this.computers = [...this.computers.slice(0, index), updates[i], ...this.computers.slice(index + 1)];\n //console.log(this.computers[index]);\n } else {\n // console.log(updates[i]);\n console.warn(\"Couldn't find matching computer to apply local update: \", i, updates[i].name);\n }\n }\n }\n\n public async showEditSubscriptions(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"40vw\";\n config.height = \"75vh\";\n config.data = { computers, options: this._route.snapshot.data['subscriptionOptions'] };\n //const queryParams = computers.reduce((prev, cur) => { prev['selected'].push(cur); return prev; }, { selected: new Array() })\n const updates = await this.showDialog(EditSubscriptionsComponent, config, [computers[0].name, 'subscriptions'], showVirtualPath, /*queryParams*/);\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public async showEditManyOrgStructure(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"70vw\";\n config.height = \"90vh\";\n config.data = { computers, options: this.orgStructureOptions };\n const queryParams = { selected: computers.map(c => c.name).join(',') };\n const updates = await this.showDialog(EditOrgStructureComponent, config, ['--selected--', 'org-structure'], showVirtualPath, queryParams);\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public async showEditManySubscriptions(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"70vw\";\n config.height = \"90vh\";\n config.data = { computers, options: this._route.snapshot.data['subscriptionOptions'] };\n const queryParams = { selected: computers.map(c => c.name).join(',') };\n const updates = await this.showDialog(EditSubscriptionsComponent, config, ['--selected--', 'subscriptions'], showVirtualPath, queryParams);\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public async showDeploySoftwareToComputer(computers: Computer[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"70vw\";\n config.height = \"90vh\";\n config.data = { computers, options: this._route.snapshot.data['subscriptionOptions'] };\n const queryParams = { selected: computers.map(c => c.name).join(',') };\n await this.showDialog(SoftwareDeployToComputerComponent, config, [], showVirtualPath, queryParams);\n }\n\n public toggleSelectAll() {\n const selected = this.selectAll.checked;\n for (let key in this.computers) {\n this.computers[key].ui['selected'] = selected;\n }\n this.anySelected = selected;\n this.selected = selected ? [...this.computers] : [];\n }\n\n public adjustSelectAll() {\n let all = true;\n let some = false;\n this.selected = [];\n for (let computer of this.computers) {\n let thisone = computer.ui['selected'] === true;\n all &&= thisone;\n some ||= thisone;\n if (thisone) this.selected.push(computer);\n }\n\n if (this.selectAll)\n this.selectAll.checked = false;\n this.selectAllIndeterminate = some;\n this.selectAllChecked = all;\n this.anySelected = some;\n }\n\n private setFilter(filter: ComputerFilter, v: { [ctrl: string]: string }) {\n filter.data = {};\n filter.data.name = { value: v[\"name\"] };\n filter.data.nameOp = { value: v[\"nameOp\"] };\n filter.data.organization = { value: v[\"org\"] };\n filter.data.building = { value: v[\"bldg\"] };\n filter.data.unit = { value: v[\"unit\"] };\n filter.data.department = { value: v[\"dept\"] };\n }\n\n private async setSort(filter: ComputerFilter, v: Sort, shouldSearch: boolean = true) {\n if (v.direction === \"\") {\n filter.SortSpecifications = [];\n return;\n }\n\n filter.SortSpecifications = [\n { property: v.active, direction: v.direction }\n ];\n // console.log(\"Setting sort: \" + v.active + \" \" + v.direction);\n if (shouldSearch)\n await this.search();\n }\n\n private async setPage(filter: ComputerFilter) {\n filter.page = this.paginator.pageIndex;\n filter.pageSize = this.paginator.pageSize;\n await this.search();\n }\n\n @HostListener(\"window:scroll\")\n public onScroll() {\n // console.log(\"scrolling\", document.body.scrollTop);\n const verticalOffset = window.pageYOffset\n || document.documentElement.scrollTop\n || document.body.scrollTop || 0;\n this.isScrolledTop = verticalOffset < 100;\n }\n\n public scrollTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n}\n","\n

Search for devices below

\n
\n \n \n \n \n And\n Or\n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n \n \n \n \n \n \n \n \n {{ selected.length }} selected\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Device Name\n \n {{ row.name }}\n \n \n \n Location\n \n {{ row.location }}\n \n \n \n Description\n \n {{row.description}}\n \n \n \n Actions\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Created\n \n {{row.created | date: 'yyyy-MM-dd'}}\n \n \n \n Last Updated\n \n {{row.lastupdated | date: 'yyyy-MM-dd'}}\n \n \n \n \n
\n \n \n \n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n

No results

\n

Please enter a query and click search.\n

\n
\n
\n \n
\n
\n
\n","import { Component, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { tap } from 'rxjs';\nimport { Computer } from 'src/app/models/computer';\nimport { OrgStructure, OrgStructureDescriptor } from 'src/app/models/org-structure';\nimport { SubscriptionDescriptor } from 'src/app/models/subscription';\nimport { subscriptionCodeToTitle } from 'src/app/models/subscription-codes';\n\n@Component({\n selector: 'app-computer-details',\n templateUrl: './computer-details.component.html',\n styleUrls: ['./computer-details.component.scss']\n})\nexport class ComputerDetailsComponent {\n title: string;\n groups?: { name: string, isSub: boolean, isOrg: boolean }[];\n filterForm: FormGroup = this._fb.group({ showGroupFullDn: [false], showOrgSubs: [false] });\n fieldArray: Field[] = [];\n subTags = [...Object.keys(subscriptionCodeToTitle), \"GPO-Lockscreen-ADA\"];\n orgTags = [\"ORG\", \"DEPT\", \"UNIT\", \"BLDG\"];\n subscriptions?: { name: string; isSub: boolean; isOrg: boolean; }[];\n orgs?: { name: string; isSub: boolean; isOrg: boolean; }[];\n groupByName: { [key: string]: { key: string; name?: string | undefined; description?: string | undefined; }; };\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { groups: string[], computers: Computer[], title: string, orgOptions: { [key: string]: OrgStructureDescriptor[] }, subOptions: { [key: string]: SubscriptionDescriptor[] } },\n private _fb: FormBuilder,\n private dialogRef: MatDialogRef\n ) {\n const allGroups = { ..._data.orgOptions, ..._data.subOptions };\n type groupViewModel = { key: string, name?: string, description?: string };\n this.groupByName = Object\n .keys(allGroups)\n //.map(key => { return { key, ...allGroups[key] }; })\n .reduce((acc, key) => acc.concat(allGroups[key].map(g => { return { key, ... g}; })), [])\n .reduce((acc, group) => { if (group.name) acc[group.name] = group; return acc;}, <{[key:string]: groupViewModel}> {})\n console.log(_data.orgOptions, _data.subOptions, this.groupByName);\n this.title = _data?.title ?? \"Computer Details\";\n this.updateGroups(false, false);\n this.fieldArray.push(new Field(\"DN\", _data.computers[0].distinguishedName));\n this.fieldArray.push(new Field(\"whenCreated\", _data.computers[0].created, \"date\"));\n this.fieldArray.push(new Field(\"whenChanged\", _data.computers[0].lastupdated, \"date\"));\n }\n\n public ngAfterViewInit() {\n this.filterForm.valueChanges.pipe(tap(v => this.updateGroups(v['showGroupFullDn'], v['showOrgSubs']))).subscribe();\n }\n\n public updateGroups(showGroupFullDn: boolean, showOrgSubs: boolean) {\n let groups = this._data.computers[0].memberOf.map(group => {\n return {\n name: showGroupFullDn ? group : group.split(\",\")[0].replace(\"CN=\", \"\"),\n prefix: group.replace(\"CN=\", \"\").split(\"-\")[0],\n isSub: this.subTags.find(c => group.startsWith(`CN=${c}`)) != null,\n isOrg: this.orgTags.find(c => group.startsWith(`CN=${c}`)) != null\n };\n });\n const byNameAsc = (a: { name: string }, b: { name: string }) => a.name < b.name ? -1 : 1;\n this.subscriptions = groups.filter(g => g.isSub).sort(byNameAsc);\n this.orgs = groups.filter(g => g.isOrg).sort((a, b) => this.orgTags.indexOf(a.prefix) < this.orgTags.indexOf(b.prefix) ? -1 : 1);\n\n /*if (!showOrgSubs) {\n groups = groups.filter(g => !(g.isOrg || g.isSub));\n }\n this.groups = groups.sort((a, b) => {\n if (a.isOrg == b.isOrg) {\n if (a.isSub == b.isSub) {\n return a.name < b.name ? -1 : 1;\n } else {\n return a.isSub ? 1 : -1;\n }\n } else {\n return a.isOrg ? 1 : -1;\n }\n });*/\n }\n\n cancel(): void {\n this.dialogRef.close({});\n }\n}\n\nexport class Field {\n constructor(\n public fieldName: string,\n public fieldValue: string | Date,\n public fieldType: \"string\" | \"date\" = \"string\") { }\n}\n","\n

{{ title }}

\n
\n

Other AD Fields

\n
\n \n \n \n \n \n \n \n \n \n \n \n
Field Name{{ row.fieldName }}Value\n \n {{ row.fieldValue | date: 'EEEE, yyyy-MM-dd hh:mm:ss'\n }}\n {{ row.fieldValue }}\n \n
\n
\n \n
\n
\n

Subscriptions

\n
    \n
  • {{ groupByName[group.name].key }}: {{ groupByName[group.name].description }}
  • \n
\n
\n
\n

Org Structure

\n
    \n
  • {{ groupByName[group.name].key }}: {{ groupByName[group.name].description }}
  • \n
\n
\n
\n
\n
\n\n \n","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialog, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { firstValueFrom } from 'rxjs';\nimport { Computer } from 'src/app/models/computer';\nimport { actionCodeLookup, SubscriptionDelta } from 'src/app/models/subscription-delta';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { EditOrgStructureComponent } from '../edit-org-structure/edit-org-structure.component';\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\nimport { ConfirmComponent } from '../confirm/confirm.component';\n\n@Component({\n selector: 'app-confirm-changes',\n templateUrl: './confirm-changes.component.html',\n styleUrls: ['./confirm-changes.component.scss']\n})\nexport class ConfirmChangesComponent implements OnInit {\n public title = \"Confirm changes\"\n public deltas!: SubscriptionDelta[];\n public deltasWithErrors: SubscriptionDelta[] = [];\n public model?: Computer;\n public modelUpdateError?: string;\n public original?: Computer;\n public altRow: { [key: string]: boolean } = {};\n public actions = actionCodeLookup;\n public opIcons: { [key: string]: string } = {\n 1 : \"add_circle_outline\",\n 2 : \"remove_circle_outline\",\n 3 : \"edit\"\n };\n public allApplied: boolean = false;\n public someApplied: boolean = false;\n public closeText: string = \"Cancel\";\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { deltas: SubscriptionDelta[], model: Computer, computer: Computer, localUpdates: (Computer)[] },\n private _fb: FormBuilder,\n private _http: HttpClient,\n private _dialogRef: MatDialogRef,\n private _snackBar: MatSnackBar,\n private _dialog: MatDialog\n ) {\n this.deltas = _data.deltas;\n this.model = _data.model;\n this.original = _data.computer;\n this.altRow = Array\n .from(new Set(this.deltas.map(d => d.memberDn))) // distinct\n .reduce((acc: { [key: string]: boolean }, cur: string, i: number) => {\n acc[cur] = i % 2 == 1; return acc;\n },\n {}\n );\n }\n\n ngOnInit(): void {\n }\n\n shorten(dn: string) {\n return dn.substring(3, dn.indexOf(\",\", 4));\n }\n\n public cancel() {\n if (! this.someApplied) {\n this._dialogRef.close();\n } else {\n const updated = this.deltas\n .filter(d => d.ui.applied)\n .map(d => this._data.localUpdates.find(u => u.name == d.memberDn));\n const updates = [ ...new Set(updated) /* make distinct */ ];\n this._dialogRef.close(updates);\n }\n }\n public async applyChanges() {\n if (this.model) {\n try {\n const result = await firstValueFrom(this._http.put(apiConfiguration.apiBaseUrl + \"Computer\", this.model));\n this.modelUpdateError = undefined;\n } catch (err: unknown) {\n console.debug(err);\n if (err instanceof HttpErrorResponse) {\n this.modelUpdateError = `(${err.status}) ${err.message}\\n${this.anonymize(err.error)}`;\n } else if (err instanceof Error) {\n this.modelUpdateError = `${err.name}: ${err.message}\\n${err.stack}`;\n } else {\n this.modelUpdateError = err?.toString() ?? \"Unknown error\";\n }\n }\n }\n await Promise.all(this.deltas.map(async (op) => await this.applyRow(op)));\n this.updateSaveState();\n this.deltasWithErrors = this.deltas.filter(d => d?.ui?.lastError);\n }\n \n public copyToClipboard(text: string) {\n navigator.clipboard.writeText(text);\n this._snackBar.open(\"Copied error text to clipboard!\");\n }\n\n private updateSaveState() {\n const notApplied = this.deltas.filter(d => !d.ui.applied);\n switch (notApplied.length) {\n case 0:\n this.closeText = \"Close\";\n this.someApplied = true;\n this.allApplied = true;\n break;\n case this.deltas.length:\n this.someApplied = false;\n this.closeText = \"Cancel\";\n break;\n default:\n this.someApplied = true;\n this.closeText = \"Cancel remaining\";\n }\n }\n\n async applyRow(op: SubscriptionDelta) {\n if (op?.ui?.applied) return;\n\n try {\n let localUpdate = this._data.localUpdates.find(u => u.name == op.memberDn);\n const result = await firstValueFrom(this._http.put(apiConfiguration.apiBaseUrl + \"Computer/change-group\", op));\n op.ui.applied = true;\n this.spliceDeltaIntoLocal(op, localUpdate!.memberOf);\n if (this.deltas.find(d => !d.ui.applied) === undefined) {\n this.allApplied = true;\n }\n } catch(ex: any) {\n console.error(\"Error while applying update\", ex, op);\n if (ex instanceof HttpErrorResponse) {\n op.ui.lastError = `(${ex.status}) ${ex.message}\\n${this.anonymize(ex.error)}`;\n } else {\n op.ui.lastError = (ex instanceof Error) ? ex?.message : JSON.stringify(ex);\n }\n op.ui.canRetry = true;\n }\n }\n\n private anonymize(identifiable: string) {\n return identifiable?.toString().replace(/Authorization: .*/i, '') ?? identifiable;\n }\n\n private spliceDeltaIntoLocal(op: SubscriptionDelta, memberOf: string[]) { \n if (op?.action === actionCodeLookup[\"Add\"]) {\n memberOf.push(op.groupToAdd);\n }\n if (op?.action === actionCodeLookup[\"Remove\"]) {\n const index = memberOf.findIndex(m => m === op.groupToRemove);\n if (index >= 0) {\n memberOf.splice(index, 1);\n }\n }\n if (op?.action === actionCodeLookup[\"Replace\"]) {\n const index = memberOf.findIndex(m => m === op.groupToRemove);\n memberOf.splice(index, 1, op.groupToAdd);\n }\n }\n}\n","\n

{{ title }}

\n
\n
\n

\n warning\n Change fields

\n
    \n
  • Set field [description] = \"{{ model.description }}\"
  • \n
  • Set field [location] = \"{{ model.location }}\"
  • \n
\n
\n
0\" style=\"width: min-content;\">\n

Change memberships

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Applied?\n \n warning\n \n Machine{{ row.memberDn }}Subscription{{ row.subscriptionType }}\n arrow_forward\n From\n {{shorten(row.groupToRemove)}}\n [None]\n To\n {{shorten(row.groupToAdd)}}\n [None]\n
\n
\n
\n
\n\n
\n
0 || modelUpdateError\" style=\"width:min-content; flex-grow: 1;\">\n warningError: some changes didn't save. Transient conditions within Active Directory can sometimes cause this.\n Please consider clicking 'Apply Changes' again to retry. You can also click the error icons to copy the error text and email the application owners or ITS Help Desk if you need more help.\n
\n
\n
\n\n \n \n","import { Component, Inject} from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { SoftwareDeployToComputerComponent } from '../software-deploy-to-computer/software-deploy-to-computer.component';\nimport { Software, SoftwareDeployType } from 'src/app/models/software';\nimport { SoftwareService } from 'src/app/services/software.service';\nimport { SoftwareDeployToOrgComponent } from '../software-deploy-to-org/software-deploy-to-org.component';\n\n@Component({\n selector: 'app-confirm-software-changes-org',\n templateUrl: './confirm-software-changes-org.component.html',\n styleUrls: ['./confirm-software-changes-org.component.scss']\n})\nexport class ConfirmSoftwareChangesOrgComponent {\n public title = \"Confirm software deployment\"\n public deployType: SoftwareDeployType;\n public software: Software[];\n public groupId: string = \"\";\n public allApplied: boolean = false;\n public someApplied: boolean = false;\n public closeText: string = \"Cancel\";\n public isWritingADGroup: boolean = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { software: Software[], groupId: string, deployType: SoftwareDeployType },\n private _dialogRef: MatDialogRef,\n private _softwareService : SoftwareService\n ) {\n this.software = _data.software;\n this.deployType = _data.deployType;\n this.groupId = _data.groupId;\n }\n\n shorten(dn: string) {\n return dn.substring(3, dn.indexOf(\",\", 4));\n }\n\n public cancel() {\n this._dialogRef.close();\n }\n\n public async applyChanges() {\n console.log('applychangesorg', this.groupId);\n if (this.groupId && this.deployType && this.software ){\n this.isWritingADGroup = true;\n await this._softwareService.syncSoftwareOrg({ deployType: this.deployType.type, groupName: this.groupId, softwareName: this.software.map(x => x.name ?? '') });\n this.isWritingADGroup = false;\n }\n this.updateSaveState();\n }\n\n private updateSaveState() {\n this.closeText = \"Close\";\n this.someApplied = true;\n this.allApplied = true;\n }\n}\n","\n

{{ title }}

\n
\n
\n
Deployment Type: {{deployType.label}}
\n

Software to be deployed to {{groupId}}:

\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
Nothing in the list. All synced software in {{deployType.type}} type will be cleaned.
\n
Warning: Mandatory Deployments Selected
\n
\n
\n \n \n
\n
\n
\n\n \n \n","import { Component, Inject} from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { SoftwareDeployToComputerComponent } from '../software-deploy-to-computer/software-deploy-to-computer.component';\nimport { Software, SoftwareDeployType } from 'src/app/models/software';\nimport { SoftwareService } from 'src/app/services/software.service';\n\n@Component({\n selector: 'app-confirm-software-changes',\n templateUrl: './confirm-software-changes.component.html',\n styleUrls: ['./confirm-software-changes.component.scss']\n})\nexport class ConfirmSoftwareChangesComponent {\n public title = \"Confirm software deployment\"\n public deployType: SoftwareDeployType;\n public software: Software[];\n public computerId: string=\"\";\n public allApplied: boolean = false;\n public someApplied: boolean = false;\n public closeText: string = \"Cancel\";\n public isWritingADGroup: boolean = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { software: Software[], computerId: string, deployType: SoftwareDeployType },\n private _dialogRef: MatDialogRef,\n private _softwareService : SoftwareService\n ) {\n this.software = _data.software;\n this.computerId = _data.computerId;\n this.deployType = _data.deployType;\n }\n\n shorten(dn: string) {\n return dn.substring(3, dn.indexOf(\",\", 4));\n }\n\n public cancel() {\n this._dialogRef.close();\n }\n\n public async applyChanges() {\n if (this.computerId && this.deployType && this.software ){\n this.isWritingADGroup = true;\n await this._softwareService.syncSoftware({ computerId: this.computerId, deployType: this.deployType.type, softwareName: this.software.map(x => x.name ?? '') });\n this.isWritingADGroup = false;\n }\n this.updateSaveState();\n }\n\n private updateSaveState() {\n this.closeText = \"Close\";\n this.someApplied = true;\n this.allApplied = true;\n }\n}\n","\n

{{ title }}

\n
\n
\n
Deployment Type: {{deployType.label}}
\n

Software to be deployed to {{computerId}}:

\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
Nothing in the list. All synced software in {{deployType.type}} type will be cleaned.
\n
Warning: Mandatory Deployments Selected
\n
\n
\n \n \n
\n
\n
\n\n \n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\n\n@Component({\n selector: 'app-confirm',\n templateUrl: './confirm.component.html',\n styleUrls: ['./confirm.component.scss']\n})\nexport class ConfirmComponent implements OnInit {\n title: string;\n message: string;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: any,\n private dialogRef: MatDialogRef,\n ) {\n this.title = data?.title ?? \"Confirm\";\n this.message = data?.message;\n }\n\n ngOnInit(): void {\n }\n\n cancel(): void {\n this.dialogRef.close(false);\n }\n\n confirm(): void {\n this.dialogRef.close(true);\n }\n}\n","

{{ title }}

\n\n

\n {{ message }}\n

\n
\n\n \n \n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Inject } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef, MatDialog as MatDialog } from '@angular/material/dialog';\nimport { MatLegacySelectChange as MatSelectChange } from '@angular/material/legacy-select';\nimport { combineLatest, firstValueFrom, map, Observable } from 'rxjs';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { Computer } from 'src/app/models/computer';\nimport { OrgStructure, OrgStructureDescriptor } from 'src/app/models/org-structure';\nimport { actionCodeLookup, SubscriptionDelta } from 'src/app/models/subscription-delta';\nimport { MemberOfUtilityService } from 'src/app/services/memberof-utility.service';\nimport { OrgStructurePipesFactory } from 'src/app/services/org-struct-pipes.factory';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { ConfirmChangesComponent } from '../confirm-changes/confirm-changes.component';\n\ntype NewType = OrgStructureDescriptor;\n\n@Component({\n selector: 'app-edit-org-structure',\n templateUrl: './edit-org-structure.component.html',\n styleUrls: ['./edit-org-structure.component.scss']\n})\nexport class EditOrgStructureComponent implements OnInit {\n title: string = \"Edit Org Structure\";\n computer!: string;\n computers!: Computer[];\n computersDescription!: string;\n form!: FormGroup;\n filtered: { [key: string]: Observable } = {};\n showSetDesc: boolean = false;\n computedDesc: string = \"\";\n user: ActiveUser;\n updateEnabled: boolean = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { computers: Computer[], options: OrgStructure, title: string, user: ActiveUser },\n private _fb: FormBuilder,\n private _http: HttpClient,\n private _dialogRef: MatDialogRef,\n private _dialog: MatDialog,\n private _orgStructFilterFactory: OrgStructurePipesFactory,\n private _memberOfUtil: MemberOfUtilityService\n ) {\n this.computers = _data.computers;\n this.user = _data.user;\n // console.log(this.user, this.user.hasAnyRole(\"CanWrite\"));\n this.computersDescription = this.computers.map(c => c.name).join(\", \");\n const orgDefault = this.setupDefault('org');\n const deptDefault = this.setupDefault('dept');\n const unitDefault = this.setupDefault('unit');\n const bldgDefault = this.setupDefault('bldg');\n this.form = this._fb.group({\n description: [_data.computers[0].description, { nonNullable: true }],\n location: [_data.computers[0].location, { nonNullable: true }],\n org: [''], dept: [''], unit: [''], bldg: [''],\n orgSelect: [orgDefault, { nonNullable: true }],\n deptSelect: [deptDefault, { nonNullable: true }],\n unitSelect: [unitDefault, { nonNullable: false }],\n bldgSelect: [bldgDefault, { nonNullable: true }]\n });\n this.form.valid\n }\n\n async ngOnInit() {\n const options = this._data.options;\n if (this.computers.length > 1) {\n for (let key in options) {\n if (!options[key].find(o => o.name === 'various'))\n options[key].push(new OrgStructureDescriptor({ description: \"--Various--\", shortName: () => '', name: 'various', ui: { selected: false } }));\n }\n }\n if(!options.DEPT.find(x=>x.description == '--None--'))\n options.DEPT.push(new OrgStructureDescriptor({ description: \"--None--\", shortName: () => '', name: '', ui: { selected: false } }));\n if(!options.UNIT.find(x=>x.description == '--None--'))\n options.UNIT.push(new OrgStructureDescriptor({ description: \"--None--\", shortName: () => '', name: '', ui: { selected: false } }));\n this.filtered = this._orgStructFilterFactory.build(this.form, options);\n for (let key in this.filtered) {\n this.filtered[key] = this.filtered[key].pipe(\n map(orgs => orgs.filter(org => this.byRelated(key.toUpperCase(), org))),\n map(orgs => orgs.sort(this.sortBySelectedThenNameDesc)),\n \n \n );\n \n }\n\n // this._data.options.UNIT.push(new OrgStructureDescriptor({ description: \"--None--\", shortName: () => '', name: 'none', ui: { selected: false } }));\n\n // console.log(this.filtered);\n try {\n this.computedDesc = await firstValueFrom(this._http.get(apiConfiguration.apiBaseUrl + `OrgStructure/${this._data.computers[0].name}/default-desc`, { responseType: 'text' }));\n this.showSetDesc = true;\n } catch (ex) {\n this.showSetDesc = false;\n }\n }\n\n private byRelated(which: string, o: OrgStructureDescriptor) {\n if (which == 'BLDG' || which == 'ORG' || o.name == 'various'|| o.description == '--None--')\n return true;\n\n let org = this.form.get('orgSelect')?.value?.toUpperCase() ?? '';\n org = org == '' ? null : org.substring(org.indexOf(\"-\") + 1);\n if (which == \"DEPT\") {\n return o.name?.toUpperCase().startsWith(`DEPT-${org ?? ''}`);\n }\n\n let dept = this.form.get('deptSelect')?.value?.toUpperCase() ?? '';\n dept = dept == '' ? null : dept.substring(dept.lastIndexOf(\"-\") + 1);\n const matcher = new RegExp(`^UNIT-${org ?? '.+'}-${dept ?? '.+'}`);\n return o.name != null && matcher.test(o.name.toUpperCase());\n }\n\n setupDefault(which: string): string {\n const def = this._memberOfUtil.getComputerDefaultForKey(this.computers[0], which);\n // console.log(def, which);\n const isHomogenous = this.computers.reduce((isHom, comp) => isHom && def == this._memberOfUtil.getComputerDefaultForKey(comp, which), true);\n if (!isHomogenous && this.computers.length > 1) {\n return \"various\";\n }\n const results = /^CN=(.+?),/.exec(def);\n if (!results) {\n console.warn(`Couldn't parse: ${def}.`);\n return \"\";\n }\n\n return results[1];\n }\n\n setSelection(which: string, change: MatSelectChange) {\n for (let op of this._data.options[which.toUpperCase()]) {\n op.ui.selected = op.name === change.value;\n // console.log('change', change.value, op.ui.selected);\n \n }\n if (which === 'dept') {\n // console.log(\"cleared\")\n this.form.get('unitSelect')?.setValue('');\n this.form.get('unit')?.setValue('');\n // console.log(this.form.get('unitSelect')?.value);\n }\n this.form.get(which)?.setValue('');\n }\n\n sortBySelectedThenNameDesc(a: OrgStructureDescriptor, b: OrgStructureDescriptor) {\n if (a.description == '--None--') return -1;\n if (a.ui.selected) return -1;\n if (b.ui.selected) return 1;\n if (!a.name) return 1;\n if (!b.name) return -1\n return a.name < b.name ? -1 : 1;\n }\n\n dismiss(result?: any) {\n this._dialogRef.close(result);\n }\n\n reset() {\n this.form.reset();\n this.form.reset();\n this.updateEnabled = false;\n }\n\n async save() {\n const model = {\n name: this.computers[0].name,\n description: this.form.get('description')?.value,\n location: this.form.get('location')?.value,\n memberOf: Array.from(this.computers[0].memberOf)\n };\n // console.log('save model', model);\n\n type stringDict = { [key:string]: string};\n type stringArrayDict = { [key: string]: (string | undefined)[]}\n const proposedMemberships = [\"org\", \"dept\", \"unit\", \"bldg\"]\n .reduce(\n (dict: stringDict, gtype) => { dict[gtype.toUpperCase()] = this.form.get(`${gtype}Select`)?.value; return dict; },\n {});\n const availableGroups = [\"org\", \"dept\", \"unit\", \"bldg\"]\n .reduce(\n (dict: stringArrayDict, gtype) => {\n dict[gtype.toUpperCase()] = this._data\n .options[gtype.toUpperCase()]\n .map(o => `CN=${o.name},OU=${gtype.toUpperCase()},OU=Institutional Structure,OU=SCCM (Discovery),OU=Groups,OU=Device Management,OU=Services,DC=iowa,DC=uiowa,DC=edu`);\n return dict;\n },\n {}\n );\n // console.log(availableGroups, this._data.options);\n const deltas = this._memberOfUtil.generateSubscriptionDeltas(this.computers, proposedMemberships, availableGroups);\n let localUpdates: (Computer | any)[];\n let updated: Computer[];\n if (this.computers.length === 1) { // Then also update the description and location\n localUpdates = [ { ...this.computers[0], ...model } ];\n updated = await firstValueFrom(this._dialog.open(ConfirmChangesComponent, { data: { deltas, model, localUpdates, computer: this.computers[0] }}).afterClosed());\n } else {\n localUpdates = this.computers.map(c => { return { ...c }; });\n updated = await firstValueFrom(this._dialog.open(ConfirmChangesComponent, { data: { deltas, localUpdates }}).afterClosed());\n }\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n \n async generateDescription() {\n this.form.get('description')?.setValue(this.computedDesc);\n this.form.get('description')?.markAsDirty();\n }\n}\n","\n

{{ title }}

\n
\n
\n \n \n \n \n \n \n \n
\n \n
\n

Machines

\n
\n {{ computersDescription }}\n
\n
\n
\n

Computer Group Memberships

\n
\n \n \n \n \n \n \n {{o.shortName(0)}} {{o.description}}\n \n \n \n \n \n \n \n \n \n {{o.shortName(0)}} {{o.description}}\n \n \n \n \n \n \n \n \n \n {{o.shortName(1)}} {{o.description}}\n \n \n \n \n \n \n \n \n \n \n {{o.shortName(2)}} {{o.description}}\n \n \n \n
\n
\n
\n\n \n \n \n","import { HttpClient } from '@angular/common/http';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { MatSelectChange } from '@angular/material/select';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { Computer } from 'src/app/models/computer';\nimport { OrgStructure } from 'src/app/models/org-structure';\nimport { SubscriptionDescriptor } from 'src/app/models/subscription';\nimport { subscriptionCodeToTitle } from 'src/app/models/subscription-codes';\nimport { MemberOfUtilityService } from 'src/app/services/memberof-utility.service';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { ConfirmChangesComponent } from '../confirm-changes/confirm-changes.component';\n\n@Component({\n selector: 'app-edit-subscriptions',\n templateUrl: './edit-subscriptions.component.html',\n styleUrls: ['./edit-subscriptions.component.scss']\n})\nexport class EditSubscriptionsComponent implements OnInit {\n computers!: Computer[];\n computersDescription!: string;\n form!: FormGroup;\n options!: { [key: string]: SubscriptionDescriptor[] };\n readonly codeToTitle = subscriptionCodeToTitle;\n user: ActiveUser;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { computers: Computer[], options: { [key: string]: SubscriptionDescriptor[] }, user: ActiveUser },\n private _http: HttpClient,\n private _dialogRef: MatDialogRef,\n private _dialog: MatDialog,\n private _memberOfUtil: MemberOfUtilityService,\n fb: FormBuilder\n ) {\n this.user = _data.user;\n this.options = _data.options;\n this.computers = _data.computers;\n this.computersDescription = this.computers.map(c => c.name).join(\", \");\n this.options['ADA'] = [\n new SubscriptionDescriptor({ description: 'Uses ADA Graphics', isDefault: false, isRecommended: false, name: this.options['GPO'][0].name, distinguishedName: this.options['GPO'][0].distinguishedName, ui: { selected: false } }),\n new SubscriptionDescriptor({ description: 'Regular Graphics', isDefault: true, isRecommended: false, name: '', ui: { selected: false } }),\n ];\n if (this.computers.length > 1) {\n for (let key in this.options) {\n if (!this.options[key].find(o => o.name === 'various'))\n this.options[key].push(new SubscriptionDescriptor({ description: \"--Various--\", isDefault: false, isRecommended: false, name: 'various', ui: { selected: false } }));\n }\n }\n\n type keysType = typeof this.codeToTitle;\n type formDefDictType = { [key: keyof keysType]: any[] };\n const formDef = Object\n .keys(this.codeToTitle)\n .reduce((p, c) => { p[c] = [this.getCurrentAsDefault(c), { nonNullable: true }]; console.log(c); return p; }, {});\n formDef['ADA'] = [this.getCurrentAsDefault('ADA'), { nonNullable: true }];\n this.form = fb.group(formDef);\n }\n\n ngOnInit(): void {\n }\n\n getCurrentAsDefault(key: string) {\n const def = this._memberOfUtil.getComputerDefaultForKey(this.computers[0], key);\n const isHomogenous = this.computers.reduce((isHom, comp) => isHom && def == this._memberOfUtil.getComputerDefaultForKey(comp, key), true);\n if (!isHomogenous && this.computers.length > 1) {\n return \"various\";\n }\n const results = /^CN=(.+?),/.exec(def);\n if (!results) {\n return \"\";\n }\n return results[1];\n }\n\n setSelection(which: string, change: MatSelectChange) {\n for (let op of this._data.options[which.toUpperCase()]) {\n op.ui.selected = op.name === change.value;\n }\n this.form.get(which)?.setValue('')\n }\n\n dismiss(result?: any) {\n this._dialogRef.close(result);\n }\n\n confirm() {\n\n }\n\n reset() { this.form.reset(); }\n\n async save() {\n type stringDict = { [key: string]: string };\n type stringArrayDict = {[key: string]: (string | undefined)[] };\n const proposedMemberships = Object\n .keys(this.codeToTitle)\n .reduce(\n (dict: stringDict, gtype) => { dict[gtype] = this.form.get(gtype)?.value; return dict; },\n {});\n const availableGroups = Object\n .keys(this.codeToTitle)\n .reduce(\n (dict: stringArrayDict, gtype) => { dict[gtype] = this.options[gtype].map(o => o.distinguishedName); return dict; },\n {}\n );\n const deltas = this._memberOfUtil.generateSubscriptionDeltas(this.computers, proposedMemberships, availableGroups);\n const localUpdates = this.computers.map(c => { return { ...c }; });\n const updated = await firstValueFrom(this._dialog.open(ConfirmChangesComponent, { data: { deltas, localUpdates } }).afterClosed());\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n\n /*async saveOld() {\n const model = {\n name: this.computers[0].name,\n description: this.form.get('description')?.value,\n location: this.form.get('location')?.value\n };\n const localUpdate = {\n ...this.computers[0],\n ...model\n };\n\n const resultsPromises = Object.keys(this.codeToTitle)\n .map(gtype => {\n const current = this._memberOfUtil.getComputerDefaultForKey(this.computers[0], gtype);\n const next = this.form.get(`${gtype}`)?.value;\n const nextFull = this.options[gtype].find(o => o.name === next)?.distinguishedName;\n //const nextFull = next;\n console.log(gtype, nextFull, current, this.options[gtype], next);\n if (nextFull == current) return null // no change;\n if (gtype === \"ADA\" && current === '' && nextFull === undefined) return // ADA unchanged\n return {\n memberDn: this.computers[0].name,\n action: this.actionCodeLookup[current == '' ? 'Add' : (next == '' ? 'Remove' : 'Replace')],\n groupToRemove: current,\n groupToAdd: nextFull\n };\n })\n .filter(r => r != null)\n .map(async (r) => {\n console.log(r);\n const result = await firstValueFrom(this._http.put(apiConfiguration.apiBaseUrl + \"Computer/change-group\", r));\n this.update(r, localUpdate);\n return result;\n });\n const results = await Promise.all(resultsPromises);\n console.log(results);\n this.dismiss(); \n }*/\n\n}\n","\n

Edit Subscriptions

\n
\n
\n

Machine 1\">s Info

\n
\n {{ computersDescription }}\n
\n
\n

Subscriptions

\n
\n \n \n \n {{ o.description }}\n \n \n \n
\n
\n
\n\n \n \n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatLegacySnackBarRef as MatSnackBarRef, MAT_LEGACY_SNACK_BAR_DATA as MAT_SNACK_BAR_DATA } from '@angular/material/legacy-snack-bar';\n\n@Component({\n selector: 'app-error-snack',\n templateUrl: './error-snack.component.html',\n styleUrls: ['./error-snack.component.scss']\n})\nexport class ErrorSnackComponent implements OnInit {\n message: any;\n\n constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any, \n private ref:MatSnackBarRef) { this.message = data.message };\n\n ngOnInit(): void {\n }\n\n close(){\n this.ref.dismiss();\n }\n}\n","
\n close\n
\n

{{ message }} ITS Help Desk .

","import { Component, Inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { tap } from 'rxjs';\nimport { OrgGroup } from 'src/app/models/org-group';\nimport { OrgStructure, OrgStructureDescriptor } from 'src/app/models/org-structure';\nimport { SubscriptionDescriptor } from 'src/app/models/subscription';\nimport { subscriptionCodeToTitle } from 'src/app/models/subscription-codes';\n\n@Component({\n selector: 'app-org-details',\n templateUrl: './org-details.component.html',\n styleUrls: ['./org-details.component.scss']\n})\nexport class OrgDetailsComponent {\n title: string;\n groups?: { name: string, isSub: boolean, isOrg: boolean }[];\n filterForm: FormGroup = this._fb.group({ showGroupFullDn: [false], showOrgSubs: [false] });\n fieldArray: Field[] = [];\n ignoredSubs = [...Object.keys(subscriptionCodeToTitle), \"GPO-Lockscreen-ADA\", 'APD'];\n ignoredOrgs = [\"ORG\", \"DEPT\", \"UNIT\", \"BLDG\"];\n subscriptions?: { name: string; isSub: boolean; isOrg: boolean; }[];\n orgs?: { name: string; isSub: boolean; isOrg: boolean; }[];\n groupByName: { [key: string]: { key: string; name?: string | undefined; description?: string | undefined; }; };\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { groups: string[], orgGroup: OrgGroup[], title: string, orgOptions: { [key: string]: OrgStructureDescriptor[] }, subOptions: { [key: string]: SubscriptionDescriptor[] } },\n private _fb: FormBuilder,\n private dialogRef: MatDialogRef\n ) {\n const allGroups = { ..._data.orgOptions, ..._data.subOptions };\n type groupViewModel = { key: string, name?: string, description?: string };\n this.groupByName = Object\n .keys(allGroups)\n //.map(key => { return { key, ...allGroups[key] }; })\n .reduce((acc, key) => acc.concat(allGroups[key].map(g => { return { key, ... g}; })), [])\n .reduce((acc, group) => { if (group.name) acc[group.name] = group; return acc;}, <{[key:string]: groupViewModel}> {})\n console.log(_data.orgOptions, _data.subOptions, this.groupByName);\n this.title = _data?.title ?? \"OrgGroup Details\";\n this.updateGroups(false, false);\n this.fieldArray.push(new Field(\"DN\", _data.orgGroup[0].name));\n this.fieldArray.push(new Field(\"whenCreated\", _data.orgGroup[0].created, \"date\"));\n this.fieldArray.push(new Field(\"whenChanged\", _data.orgGroup[0].lastupdated, \"date\"));\n }\n\n public ngAfterViewInit() {\n this.filterForm.valueChanges.pipe(tap(v => this.updateGroups(v['showGroupFullDn'], v['showOrgSubs']))).subscribe();\n }\n\n public updateGroups(showGroupFullDn: boolean, showOrgSubs: boolean) {\n let groups = this._data.orgGroup[0]['memberOf'].map((group: string) => {\n return {\n name: showGroupFullDn ? group : group.split(\",\")[0].replace(\"CN=\", \"\"),\n prefix: group.replace(\"CN=\", \"\").split(\"-\")[0],\n isSub: this.ignoredSubs.find(c => group.startsWith(`CN=${c}`)) != null,\n isOrg: this.ignoredOrgs.find(c => group.startsWith(`CN=${c}`)) != null\n };\n });\n const byNameAsc = (a: { name: string }, b: { name: string }) => a.name < b.name ? -1 : 1;\n this.subscriptions = groups.filter((g: { isSub: any; }) => g.isSub).sort(byNameAsc);\n this.orgs = groups.filter((g: { isOrg: any; }) => g.isOrg).sort((a: { prefix: string; }, b: { prefix: string; }) => this.ignoredOrgs.indexOf(a.prefix) < this.ignoredOrgs.indexOf(b.prefix) ? -1 : 1);\n\n /*if (!showOrgSubs) {\n groups = groups.filter(g => !(g.isOrg || g.isSub));\n }\n this.groups = groups.sort((a, b) => {\n if (a.isOrg == b.isOrg) {\n if (a.isSub == b.isSub) {\n return a.name < b.name ? -1 : 1;\n } else {\n return a.isSub ? 1 : -1;\n }\n } else {\n return a.isOrg ? 1 : -1;\n }\n });*/\n }\n\n cancel(): void {\n this.dialogRef.close({});\n }\n}\n\nexport class Field {\n constructor(\n public fieldName: string,\n public fieldValue: string | Date,\n public fieldType: \"string\" | \"date\" = \"string\") { }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { Router } from '@angular/router';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\n\n@Component({\n selector: 'app-session-expired',\n templateUrl: './session-expired.component.html',\n styleUrls: ['./session-expired.component.scss']\n})\nexport class SessionExpiredComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private data: any,\n private dialogRef: MatDialogRef,\n private _router: Router,\n private _authService: CommunityAuthService\n ) { }\n\n ngOnInit(): void {\n }\n\n staySignedOut(): void {\n this._authService.logout();\n this.dialogRef.close();\n }\n\n login(): void {\n const returnTo = this._router.url.startsWith(\"/computer\") ? this._router.url : \"/computers\";\n this._authService.login(returnTo);\n this.dialogRef.close();\n }\n}\n","

Your session has expired.

\n\n

\n Would you like to login again?\n

\n
\n\n \n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { Computer } from 'src/app/models/computer';\nimport { SoftwareService } from 'src/app/services/software.service';\nimport { Subject, debounceTime, distinctUntilChanged, firstValueFrom } from 'rxjs';\nimport { ConfirmSoftwareChangesComponent } from '../confirm-software-changes/confirm-software-changes.component';\nimport { Software, SoftwareDeployType } from 'src/app/models/software';\nimport { SoftwareSummaryComponent } from '../software-summary/software-summary.component';\n\n@Component({\n selector: 'app-software-deploy-to-computer',\n templateUrl: './software-deploy-to-computer.component.html',\n styleUrls: ['./software-deploy-to-computer.component.scss']\n})\nexport class SoftwareDeployToComputerComponent implements OnInit {\n title: string = \"Deploy software to computer\";\n computer!: string;\n computers!: Computer[];\n computersDescription!: string;\n form!: FormGroup;\n showSetDesc: boolean = false;\n computedDesc: string = \"\";\n user: ActiveUser;\n updateEnabled: boolean = false;\n softwareDeployType: string=\"APD-*-AVL\";\n softwareDeployTypes: SoftwareDeployType[] = [];\n softwareSource: Software[] = [];\n softwareSourceDisplay: Software[] = [];\n swToAdd: string[] = [];\n swToAddPrev: string[] = [];\n swToAddRangeSelection01 : string = \"\";\n swToAddRangeSelection02 : string = \"\";\n softwareDest: Software[] = [];\n swToRemove: string[] = [];\n swToRemovePrev: string[] = [];\n swToRemoveRangeSelection01 : string = \"\";\n swToRemoveRangeSelection02 : string = \"\";\n modelChanged: Subject = new Subject();\n search = '';\n public isLoading = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { computers: Computer[], title: string, user: ActiveUser },\n private _fb: FormBuilder,\n private _dialogRef: MatDialogRef,\n private _dialog: MatDialog,\n private _softwareService : SoftwareService\n ) {\n this.computers = _data.computers;\n this.user = _data.user;\n console.log(this.user, this.user.hasAnyRole(\"CanWrite\"));\n this.computersDescription = this.computers.map(c => c.name).join(\", \");\n this.form = this._fb.group({\n computerName: [_data.computers[0].id, { nonNullable: true }],\n description: [_data.computers[0].description, { nonNullable: true }],\n adLocation: [this.simplifyLocation(_data.computers[0].distinguishedName ), { nonNullable: true }]\n })\n }\n\n async ngOnInit() {\n this.softwareDeployTypes = await this._softwareService.fetchDeployType();\n try {\n await this.loadSoftware();\n this.showSetDesc = true;\n this.modelChanged.pipe(debounceTime(300),distinctUntilChanged())\n .subscribe(() => {this.searchFor();});\n } catch (ex) {\n console.log(ex)\n this.showSetDesc = false;\n }\n }\n\n simplifyLocation = (cn: string): string => cn.split(',')\n .map((p: string) => p.replace('OU=Windows', '')\n .replace('OU=Devices', '')\n .replace('OU=Devices', '')\n .replace('DC=iowa', '')\n .replace('DC=uiowa', '')\n .replace('DC=edu', '')\n .replace('OU=', '')\n .replace('CN=', ''))\n .filter(p => p != '')\n .reverse()\n .join('/');\n\n onSoftwareDeployTypeChange = () => this.loadSoftware();\n\n async loadSoftware(){\n this.isLoading = true;\n try{\n this.softwareSource=[];\n this.softwareDest=[];\n if (this.softwareDeployType != '' && (this.computers[0].name != null)){\n [this.softwareSource,this.softwareDest] = await this._softwareService.fetchSoftwareForComputer({ deployType: this.softwareDeployType, computerName: this.computers[0].name });\n this.softwareSourceDisplay = this.softwareSource = this.softwareSource.filter(p => !this.softwareDest.find(m=>m.name==p.name) );\n }\n } catch (ex) {\n console.log(ex)\n }\n this.isLoading = false;\n }\n\n searchFor() {\n if (this.search.length >=1 || this.search.length === 0) {\n this.softwareSourceDisplay = this.softwareSource.filter(p => (p.description?.toLowerCase().indexOf(this.search.toLowerCase())>=0) );\n }\n }\n\n async summary() {\n var updated = await firstValueFrom\n (this._dialog.open(SoftwareSummaryComponent, { data: {computerName: this.computers[0].id}}).afterClosed());\n\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n\n dismiss(result?: any) {\n this._dialogRef.close(result);\n }\n\n reset () {\n this.search = '';\n this.swToAdd = [];\n this.swToRemove = [];\n this.loadSoftware(); \n } \n\n changeModel(event: any) {\n this.modelChanged.next(event.target.value);\n }\n\n async save() {\n let deploymentType = this.softwareDeployTypes.find(p=>p.type==this.softwareDeployType);\n var updated = await firstValueFrom\n (this._dialog.open(ConfirmSoftwareChangesComponent, { data: {software: this.softwareDest, computerId: this.computers[0].id, deployType: deploymentType }}).afterClosed());\n\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n\n async onMoveIntoSelectedList(){\n [this.softwareSource, this.softwareSourceDisplay, this.softwareDest] = \n await this._softwareService.moveSelectedSoftwareToSelectedList(this.swToAdd, this.softwareSource, this.softwareSourceDisplay, this.softwareDest);\n this.swToAdd.splice(0);\n }\n\n async onMoveOutSelectedList(){\n [this.softwareSource, this.softwareSourceDisplay, this.softwareDest] = \n await this._softwareService.moveSelectedSoftwareToAvailableList(this.swToRemove,this.softwareDest, this.softwareSource, this.softwareSourceDisplay);\n this.swToRemove.splice(0);\n }\n\n onClickSourceList( event: any ): void{\n let clickedItem = this.softwareSourceDisplay.find(x=>x.description==event.target.parentNode.innerText)?.name;\n\n if (clickedItem == null) return;\n if (!event.shiftKey){\n this.swToAddRangeSelection01 = clickedItem;\n return;\n }\n\n if (this.swToAddRangeSelection01 !='' && this.swToAddRangeSelection01 != clickedItem) {\n if (this.swToAddRangeSelection02)\n this.multipleRangeSelections(clickedItem);\n else\n this.firstRangeSelection(clickedItem);\n }\n }\n\n multipleRangeSelections(clickedItem:string){\n let a0 = this.softwareSourceDisplay.findIndex(x=>x.name==this.swToAddRangeSelection01);\n let a1 = this.softwareSourceDisplay.findIndex(x=>x.name==this.swToAddRangeSelection02);\n let a2 = this.softwareSourceDisplay.findIndex(x=>x.name==clickedItem);\n\n if (Math.abs(a1-a0)<=Math.abs(a2-a0))\n this.firstRangeSelection (clickedItem)\n else if (this.swToAdd.indexOf(this.swToAddRangeSelection01)>=0)\n this.unselectItemsBetween (this.swToAddRangeSelection02, clickedItem, 1);\n else\n this.selectItemsBetween (this.swToAddRangeSelection02, clickedItem);\n }\n\n firstRangeSelection(clickedItem:string) {\n if (this.swToAdd.indexOf(this.swToAddRangeSelection01)>=0)\n this.selectItemsBetween (this.swToAddRangeSelection01, clickedItem);\n else\n this.unselectItemsBetween (this.swToAddRangeSelection01, clickedItem);\n }\n\n selectItemsBetween (item1:string, item2:string){\n let a1 = this.softwareSourceDisplay.findIndex(x=>x.name==item1);\n let a2 = this.softwareSourceDisplay.findIndex(x=>x.name==item2);\n if (a1>a2) {let a=a2; a2=a1; a1=a;} //swap\n for (let i=a1; i<=a2; i++) {\n this.swToAdd.push(this.softwareSourceDisplay[i]?.name); \n }\n this.swToAdd = [...new Set(this.swToAdd)].sort((a,b)=>{return (a??'') >= (b??'') ? 1:-1});\n this.swToAddRangeSelection02 = item2;\n }\n\n unselectItemsBetween (item1:string, item2:string, shift=0){\n let a1 = this.softwareSourceDisplay.findIndex(x=>x.name==item1);\n let a2 = this.softwareSourceDisplay.findIndex(x=>x.name==item2);\n if (a1>a2) {let a=a2; a2=a1; a1=a;} //swap\n this.swToAdd.push( this.softwareSourceDisplay[a1].name);\n this.swToAdd.sort((a,b)=>{return (a??'') >= (b??'') ? 1:-1});\n for (let i=a2+shift-1; i>=a1+shift; i--) {\n this.swToAdd.splice(this.swToAdd.indexOf(this.softwareSourceDisplay[i]?.name),1);\n } \n this.swToAdd = [...new Set(this.swToAdd)].sort((a,b)=>{return (a??'') >= (b??'') ? 1:-1});\n this.swToAddRangeSelection02 = item2;\n }\n\n onClickDestList( event : any ): void{\n if (event.shiftKey && this.swToRemoveRangeSelection01 != '' && this.swToRemoveRangeSelection02 != '' &&\n this.swToRemoveRangeSelection01 != this.swToRemoveRangeSelection02 &&\n this.swToRemove.indexOf(this.swToRemoveRangeSelection01)>=0 &&\n this.swToRemove.indexOf(this.swToRemoveRangeSelection02)>=0) {\n let a1 = this.softwareDest.findIndex(x=>x.name==this.swToRemoveRangeSelection01);\n let a2 = this.softwareDest.findIndex(x=>x.name==this.swToRemoveRangeSelection02);\n if (a1>a2) {let a=a2; a2=a1; a1=a;} //swap\n for (let i=a1; i<=a2; i++) {\n this.swToRemove.push(this.softwareDest[i].name); \n }\n this.swToRemove = [...new Set(this.swToRemove)].sort((a,b)=>{return (a??'') >= (b??'') ? 1:-1});\n }\n } \n}\n","\n

{{ title }}

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n
\n \n \n {{depType.label}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
Available
\n
\n \n
\n \n
\n
\n
\n \n \n \n {{software.description}}\n \n \n \n

\n Selected: {{swToAdd.length}}\n

\n
\n
\n
\n \n
\n
\n \n
\n
\n
Selected\n \n \n \n {{sw.description}}\n \n \n \n

\n Selected: {{swToRemove.length}}\n

\n
\n
\n
\n
\n
\n
\n\n \n \n \n\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef, MatDialog } from '@angular/material/dialog';\nimport { MatLegacyRadioModule as MatRadio } from '@angular/material/legacy-radio';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { Computer } from 'src/app/models/computer';\nimport { SoftwareService } from 'src/app/services/software.service';\nimport { Subject, debounceTime, distinctUntilChanged, firstValueFrom } from 'rxjs';\nimport { ConfirmSoftwareChangesComponent } from '../confirm-software-changes/confirm-software-changes.component';\nimport { Software, SoftwareDeployType } from 'src/app/models/software';\nimport { SoftwareSummaryComponent } from '../software-summary/software-summary.component';\nimport { OrgGroup } from 'src/app/models/org-group';\nimport { ConfirmSoftwareChangesOrgComponent } from '../confirm-software-changes-org/confirm-software-changes-org.component';\nimport { SoftwareSummaryOrgComponent } from '../software-summary-org/software-summary-org.component';\n\n@Component({\n selector: 'app-software-deploy-to-org',\n templateUrl: './software-deploy-to-org.component.html',\n styleUrls: ['./software-deploy-to-org.component.scss']\n})\nexport class SoftwareDeployToOrgComponent implements OnInit {\n title: string = \"Deploy software to org\";\n org!: string;\n orgs!: OrgGroup[];\n orgsDescription!: string;\n form!: FormGroup;\n showSetDesc: boolean = false;\n computedDesc: string = \"\";\n user: ActiveUser;\n updateEnabled: boolean = false;\n softwareDeployType: string=\"APD-*-AVL\";\n softwareDeployTypes: SoftwareDeployType[] = [];\n softwareSource: Software[] = [];\n softwareSourceDisplay: Software[] = [];\n swToAdd: string[] = [];\n softwareDest: Software[] = [];\n swToRemove: string[] = [];\n modelChanged: Subject = new Subject();\n search = '';\n public isLoading = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { orgs: OrgGroup[], title: string, user: ActiveUser },\n private _fb: FormBuilder,\n private _dialogRef: MatDialogRef,\n private _dialog: MatDialog,\n private _softwareService : SoftwareService\n ) {\n this.orgs = _data.orgs;\n this.user = _data.user;\n console.log(this.user, this.user.hasAnyRole(\"CanWrite\"));\n this.orgsDescription = this.orgs.map(c => c.name).join(\", \");\n console.log(_data.orgs[0]);\n \n this.form = this._fb.group({\n orgName: [_data.orgs[0].id, { nonNullable: true }],\n description: [_data.orgs[0].description, { nonNullable: true }],\n adLocation: ['', {nonNullable: true}]\n // adLocation: [this.simplifyLocation(_data.orgs[0].distinguishedName ), { nonNullable: true }]\n })\n console.log('form');\n\n }\n\n async ngOnInit() {\n console.log('init');\n this.softwareDeployTypes = await this._softwareService.fetchDeployType();\n try {\n await this.loadSoftware();\n this.showSetDesc = true;\n this.modelChanged.pipe(debounceTime(300),distinctUntilChanged())\n .subscribe(() => {this.searchFor();});\n } catch (ex) {\n console.log(ex)\n this.showSetDesc = false;\n }\n }\n\n simplifyLocation = (cn: string): string => cn.split(',')\n .map((p: string) => p.replace('OU=Windows', '')\n .replace('OU=Devices', '')\n .replace('OU=Devices', '')\n .replace('DC=iowa', '')\n .replace('DC=uiowa', '')\n .replace('DC=edu', '')\n .replace('OU=', '')\n .replace('CN=', ''))\n .filter(p => p != '')\n .reverse()\n .join('/');\n\n onSoftwareDeployTypeChange = () => this.loadSoftware();\n\n async loadSoftware(){\n console.log('load');\n this.isLoading = true;\n try{\n this.softwareSource=[];\n this.softwareDest=[];\n if (this.softwareDeployType != '' && (this.orgs[0].name != null)){\n console.log('not empty');\n [this.softwareSource,this.softwareDest] = await this._softwareService.fetchSoftwareForOrg({ deployType: this.softwareDeployType, orgName: this.orgs[0].name });\n this.softwareSourceDisplay = this.softwareSource = this.softwareSource.filter(p => !this.softwareDest.find(m=>m.name==p.name) );\n }\n } catch (ex) {\n console.log(ex)\n }\n this.isLoading = false;\n }\n\n searchFor() {\n if (this.search.length >=1 || this.search.length === 0) {\n this.softwareSourceDisplay = this.softwareSource.filter(p => (p.description?.toLowerCase().indexOf(this.search.toLowerCase())>=0) );\n }\n }\n\n async summary() {\n console.log('summary: ', this.orgs[0].id);\n\n var updated = await firstValueFrom\n (this._dialog.open(SoftwareSummaryOrgComponent, { data: {groupName: this.orgs[0].id}}).afterClosed());\n\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n\n dismiss(result?: any) {\n this._dialogRef.close(result);\n }\n\n reset () {\n this.search = '';\n this.swToAdd = [];\n this.swToRemove = [];\n this.loadSoftware(); \n } \n\n changeModel(event: any) {\n this.modelChanged.next(event.target.value);\n }\n\n async save() {\n let deploymentType = this.softwareDeployTypes.find(p=>p.type==this.softwareDeployType);\n var updated = await firstValueFrom\n (this._dialog.open(ConfirmSoftwareChangesOrgComponent, { data: {software: this.softwareDest, groupId: this.orgs[0].id, deployType: deploymentType }}).afterClosed());\n\n if (updated?.length > 0)\n this.dismiss(updated);\n }\n\n onSelect(){\n this.swToAdd.forEach((item) => {\n let one = this.softwareSource.find(x=>x.name==item)\n if (one != null){\n if (this.softwareDest.indexOf(one)<0)\n this.softwareDest.push(one);\n const i = this.softwareSource.indexOf(one)??-1;\n if (i>=0){\n this.softwareSource.splice(i, 1);\n this.softwareSourceDisplay.splice(i, 1);\n }\n }\n this.softwareDest = [...new Set(this.softwareDest)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n })\n } \n\n onDeselect(){\n this.swToRemove.forEach((item) => {\n let one = this.softwareDest.find(x=>x.name==item)\n if (one != null){\n if (this.softwareSource.indexOf(one)<0) {\n this.softwareSource.push(one);\n this.softwareSourceDisplay.push(one);\n }\n let i = this.softwareDest.indexOf(one)??-1;\n if (i>=0)\n this.softwareDest.splice(i, 1);\n }\n this.softwareSourceDisplay = [...new Set(this.softwareSourceDisplay)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n this.softwareSource = [...new Set(this.softwareSourceDisplay)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n })\n }\n}\n","\n

{{ title }}

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n \n
\n
\n
\n \n
\n \n \n {{depType.label}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
Available
\n
\n \n
\n \n
\n
\n
\n \n \n \n {{software.description}}\n \n \n \n

\n Selected: {{swToAdd.length}}\n

\n
\n
\n
\n \n
\n
\n \n
\n
\n
Selected\n \n \n \n {{sw.description}}\n \n \n \n

\n Selected: {{swToRemove.length}}\n

\n
\n
\n
\n
\n
\n
\n\n \n \n \n\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { SoftwareService } from 'src/app/services/software.service';\nimport { SoftwareDeployType, SyncedSoftwareSummary } from 'src/app/models/software';\nimport { SoftwareDeployToOrgComponent } from '../software-deploy-to-org/software-deploy-to-org.component';\n\n@Component({\n selector: 'app-software-summary-org',\n templateUrl: './software-summary-org.component.html',\n styleUrls: ['./software-summary-org.component.scss']\n})\nexport class SoftwareSummaryOrgComponent implements OnInit {\n public title = \"Deployment Summary\"\n public groupName: string = \"\";\n public closeText: string = \"Close\";\n public syncedSoftware: SyncedSoftwareSummary = new SyncedSoftwareSummary();\n public softwareDeployTypes : SoftwareDeployType[] = [];\n isLoading = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { groupName: string },\n private _dialogRef: MatDialogRef,\n private _softwareService : SoftwareService\n ) {\n this.groupName = _data.groupName;\n }\n\n async ngOnInit(){\n console.log('summary org init;')\n this.softwareDeployTypes = await this._softwareService.fetchDeployType();\n await this.loadSoftware(this.groupName);\n }\n\n async loadSoftware(orgName: string){\n this.isLoading = true;\n try{\n if (orgName){\n let sw = await this._softwareService.fetchAllSyncedSoftwareOrg({ orgName });\n // console.log('loadSoftware05', sw)\n let flatSW = [...sw.asap, ...sw.available, ...sw.exclude, ...sw.mandatory];\n flatSW = flatSW.filter((value,index,self)=>index===self.findIndex((t)=>(t.name === value.name && t.description===value.description && t.deploymentSource===value.deploymentSource)));\n // console.log('loadSoftware10', flatSW)\n\n flatSW.sort((a,b)=>a.description.localeCompare(b.description) || a.name.localeCompare(b.name)||a.deploymentSource.localeCompare(b.deploymentSource))\n flatSW.forEach(x=>{\n if(x.name.endsWith(\"-AVL\"))\n this.syncedSoftware.available.push(x);\n else if (x.name.endsWith(\"-ASAP\"))\n this.syncedSoftware.asap.push(x);\n else if (x.name.endsWith(\"-MAN\"))\n this.syncedSoftware.mandatory.push(x);\n else if (x.name.endsWith(\"-XCL\"))\n this.syncedSoftware.exclude.push(x);\n\n if (x && x.deploymentSource && (x.deploymentSource.startsWith(\"ORG-\") ||x.deploymentSource.startsWith(\"DEPT-\")||x.deploymentSource.startsWith(\"UNIT-\")))\n x.deploymentSource=\"{Org Deployment -- \"+x.deploymentSource+\"}\"\n })\n this.isLoading = false;\n // console.log(\"flatSW\", flatSW);\n // console.log(\"syncedSummary\", this.syncedSoftware)\n return flatSW;\n }\n } catch (ex) {\n console.log(ex)\n }\n this.isLoading = false;\n return [];\n }\n\n public cancel() {\n this._dialogRef.close();\n }\n}\n","\n

{{ title }}

\n
\n
\n \n \n
\n \n
0 || syncedSoftware.asap.length>0 || syncedSoftware.available.length>0 || syncedSoftware.exclude.length>0; else nothing\">\n

Software have been synced to {{groupName}}:

\n
0\">\n
Deployment Type: {{softwareDeployTypes[0].label}}
\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
\n
0\">\n
Deployment Type: {{softwareDeployTypes[1].label}}
\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
\n
0\">\n
Deployment Type: {{softwareDeployTypes[2].label}}
\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
\n
0\">\n
Deployment Type: {{softwareDeployTypes[3].label}}
\n
    \n
  • \n {{ sw.description }}\n
  • \n
\n
\n
\n \n

No software has been synced to {{groupName}}.

\n
\n
\n
\n
\n\n \n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA as MAT_DIALOG_DATA, MatDialogRef as MatDialogRef } from '@angular/material/dialog';\nimport { SoftwareService } from 'src/app/services/software.service';\nimport { SoftwareDeployToComputerComponent } from '../software-deploy-to-computer/software-deploy-to-computer.component';\nimport { Software } from 'src/app/models/software';\n\n@Component({\n selector: 'app-software-summary',\n templateUrl: './software-summary.component.html',\n styleUrls: ['./software-summary.component.scss']\n})\nexport class SoftwareSummaryComponent implements OnInit {\n public title = \"Deployment Summary\"\n public computerName: string=\"\";\n public closeText: string = \"Close\";\n public syncedSoftware: Software[] = [];\n isLoading = false;\n displayedColumns : string[] = ['description', 'name', 'deploymentSource'];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) private _data: { computerName: string },\n private _dialogRef: MatDialogRef,\n private _softwareService : SoftwareService\n ) {\n this.computerName = _data.computerName;\n }\n\n async ngOnInit(){\n this.syncedSoftware = await this.loadSoftware(this.computerName);\n }\n\n async loadSoftware(computerName: string): Promise{\n this.isLoading = true;\n try{\n if (computerName){\n let sw = await this._softwareService.fetchAllSyncedSoftware({ computerName });\n let flatSW = [...sw.asap, ...sw.available, ...sw.exclude, ...sw.mandatory];\n flatSW = flatSW.filter((value,index,self)=>index===self.findIndex((t)=>(t.name === value.name && t.description===value.description && t.deploymentSource===value.deploymentSource)));\n flatSW.sort((a,b)=>a.description.localeCompare(b.description) || a.name.localeCompare(b.name)||a.deploymentSource.localeCompare(b.deploymentSource))\n flatSW.forEach(x=>{\n if(x.name.endsWith(\"-AVL\"))\n x.name=\"Available\";\n else if (x.name.endsWith(\"-ASAP\"))\n x.name=\"ASAP\";\n else if (x.name.endsWith(\"-MAN\"))\n x.name=\"Mandatory\";\n else if (x.name.endsWith(\"-XCL\"))\n x.name=\"Exclude\";\n\n if (x && x.deploymentSource && (x.deploymentSource.startsWith(\"ORG-\") ||x.deploymentSource.startsWith(\"DEPT-\")||x.deploymentSource.startsWith(\"UNIT-\")))\n x.deploymentSource=\"{Org Deployment -- \"+x.deploymentSource+\"}\"\n })\n this.isLoading = false;\n return flatSW;\n }\n } catch (ex) {\n console.log(ex)\n }\n this.isLoading = false;\n return [];\n }\n\n public cancel() {\n this._dialogRef.close();\n }\n}\n","\n

{{ title }}

\n
\n
\n \n \n
\n \n
0; else nothing\">\n

Software packages synced to {{computerName}}:

\n \n \n Description \n {{element.description}} \n \n \n Deployment Type \n {{element.name}} \n \n \n Deployment Source \n {{element.deploymentSource}} \n \n \n \n \n
\n \n

No software has been synced to {{computerName}}.

\n
\n
\n
\n
\n\n \n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-misc',\n templateUrl: './misc.component.html',\n styleUrls: ['./misc.component.scss']\n})\nexport class MiscErrorComponent implements OnInit {\n message?: string;\n \n constructor(\n private route: ActivatedRoute\n ) { }\n\n ngOnInit() {\n this.route.queryParams.subscribe(this.setMessage.bind(this));\n }\n\n setMessage(state: any) {\n this.message = state.message\n || \"Sorry, we can't seem to find what you're requesting.\";\n }\n\n}\n","
\n
\n

Internal error

\n
\n

\n Sorry, we seem to be having some problems. Please check back later. If the problems persist, please contact the ITS\n Help Desk.\n

\n
\n

Details

\n

\n {{ message }}\n

\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Data, Router } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { map, filter } from 'rxjs/operators';\nimport { ActiveUser } from 'src/app/models/active-user';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.scss']\n})\nexport class PageNotFoundComponent implements OnInit {\n message?: string;\n user?: ActiveUser;\n constructor(\n private _route: ActivatedRoute,\n private _router: Router\n ) {\n this._route.data.subscribe(this.userChanges.bind(this));\n }\n\n private userChanges({user}:{user:ActiveUser}|Data) {\n this.user = user;\n }\n\n ngOnInit() {\n this._route.queryParams.subscribe(this.setMessage.bind(this));\n }\n\n async setMessage(state: any) {\n if (!state.message) {\n const finalUrl = this._route.toString();\n this.message = finalUrl ?? \"Sorry, we can't seem to find what you're requesting.\";\n return;\n }\n this.message = state.message; \n }\n\n}\n","\n\n
\n
\n

contact_support  Not Found

\n
\n

\n We can't find what you're requesting. If you believe this is in error, please contact the ITS Help Desk for further assistance.\n

\n
\n

Details

\n \n {{ message }}\n \n
\n
\n
\n
","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_LEGACY_DIALOG_DATA as MAT_DIALOG_DATA } from '@angular/material/legacy-dialog';\n\n@Component({\n selector: 'app-help',\n templateUrl: './help.component.html',\n styleUrls: ['./help.component.scss']\n})\nexport class HelpComponent implements OnInit {\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: {title: string, htmlDescription: string}) { }\n\n ngOnInit() {\n }\n\n}\n","
\n

Help - {{data.title}}

\n \n \n \n \n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-logged-out',\n templateUrl: './logged-out.component.html',\n styleUrls: ['./logged-out.component.scss']\n})\nexport class LoggedOutComponent implements OnInit {\n year = new Date().getFullYear();\n constructor() { }\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n
\n person \n

You are now logged out. Log back in.

\n
\n
\n Have a wonderful day!\n
\n
\n
\n
\n \n
\n","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatSort, Sort } from '@angular/material/sort';\n// import { ComputerFilter } from 'src/app/models/computer-filter';\n// import { ComputerCollection } from 'src/app/models/computer-collection';\nimport { firstValueFrom, map, Observable, tap } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n// import { Computer } from 'src/app/models/computer';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ActivatedRoute, Data, Router } from '@angular/router';\nimport { OrgStructure, OrgStructureDescriptor } from 'src/app/models/org-structure';\nimport { MatLegacyCheckbox as MatCheckbox } from '@angular/material/legacy-checkbox';\nimport { OrgStructurePipesFactory } from 'src/app/services/org-struct-pipes.factory';\nimport { EditSubscriptionsComponent } from '../dialog-bodies/edit-subscriptions/edit-subscriptions.component';\nimport { Location } from '@angular/common';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\nimport { OrgGroup } from 'src/app/models/org-group';\nimport { OrgGroupFilter } from 'src/app/models/org-filter';\nimport { SoftwareDeployToOrgComponent } from '../dialog-bodies/software-deploy-to-org/software-deploy-to-org.component';\nimport { OrgDetailsComponent } from '../dialog-bodies/org-details/org-details.component';\n\n@Component({\n selector: 'app-org-chooser',\n templateUrl: './org-chooser.component.html',\n styleUrls: ['./org-chooser.component.scss']\n})\nexport class OrgGroupChooserComponent implements OnInit {\n // @ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n @ViewChild(\"selectAll\") selectAll!: MatCheckbox;\n filterForm!: FormGroup;\n orgGroups!: OrgGroup[];\n filter?: OrgGroupFilter;\n loading: boolean = false;\n orgStructureOptions: OrgStructure;\n filtered: { [key: string]: Observable } = {};\n allSelected: boolean = false;\n isScrolledTop: boolean = document.body.scrollTop === 0;\n anySelected: boolean = false;\n selected: OrgGroup[] = [];\n isQuerying: boolean = true;\n private _currentParams: { [key: string]: string | null } = {};\n selectAllIndeterminate: boolean = false;\n selectAllChecked: boolean = false;\n user?: ActiveUser;\n\n constructor(\n private _fb: FormBuilder,\n private _http: HttpClient,\n private _dialog: MatDialog,\n private _route: ActivatedRoute,\n public router: Router,\n private _location: Location,\n private _orgStructurePipesFactory: OrgStructurePipesFactory,\n public authService: CommunityAuthService\n ) {\n this.orgStructureOptions = _route.snapshot.data[\"orgStructureOptions\"];\n this.filterForm = this._fb.group({ name: [''], org: [''], dept: [''], unit: ['']});\n this._route.data.subscribe(this.userChanges.bind(this));\n }\n\n private userChanges({user}:{user:ActiveUser}|Data) {\n console.log(user);\n this.user = user;\n }\n\n async ngOnInit() {\n this._route.parent?.data.subscribe(data => {\n this.isQuerying = false;\n this.orgGroups = data[\"results\"];\n this.orgStructureOptions = data[\"orgStructureOptions\"];\n this.setupFiltering();\n this.adjustSelectAll();\n });\n this._route.parent?.queryParams.subscribe(p => {\n this._currentParams = p;\n this.filterForm.get('name')?.setValue(p[\"name\"]);\n const abbrev: {[key: string]: string} = { 'organization': 'org', 'department': 'dept', 'unit': 'unit'};\n for(let key of ['organization', 'department', 'unit']) {\n if (! p[key]) continue;\n this.filterForm.get(abbrev[key])?.setValue(p[key]);\n }\n });\n }\n \n async ngAfterViewInit() {\n this.filter = new OrgGroupFilter(0, 1);\n this.setSort(this.filter, { direction: this.sort.direction, active: this.sort.active }, false);\n // this.sort.sortChange.pipe(tap(this.setSort.bind(this, this.filter))).subscribe();\n // this.paginator.page.pipe(tap(this.setPage.bind(this, this.filter))).subscribe();\n this.filterForm.valueChanges.pipe(tap(this.setFilter.bind(this, this.filter))).subscribe();\n await this.showDialogIfRequested(this._route.snapshot.data['dialog']);\n // this.paginator.pageSize = localStorage[\"eustPageSize\"];\n this._route.parent?.queryParams.subscribe(p => {\n // localStorage[\"eustPageSize\"] = this.paginator.pageSize = (p[\"pageSize\"] ?? localStorage[\"eustPageSize\"] ?? '10');\n this.sort.active = p[\"sortOn\"] ?? \"name\";\n this.sort.direction = p[\"sortDir\"] ?? \"asc\";\n });\n }\n\n private setupFiltering() {\n this.filtered = this._orgStructurePipesFactory.build(this.filterForm, this.orgStructureOptions);\n for (let key in this.filtered) {\n this.filtered[key] = this.filtered[key].pipe(\n map(orgs => orgs.filter(org => this.byRelated(key.toUpperCase(), org))),\n map(orgs => orgs.sort(this.sortByNameDesc)));\n }\n }\n\n private async showDialogIfRequested(dialog: string) {\n switch (dialog) {\n // case 'edit-org-structure':\n // await this.showEditOrgStructure(this._route.snapshot.parent?.data['computers'], false);\n // break;\n // case 'edit-subscriptions':\n // await this.showEditSubscriptions(this._route.snapshot.data['orggroups'], false);\n // break;\n case 'show-more-info':\n await this.showMoreInfo(this._route.snapshot.data['orggroups'], false);\n break;\n default:\n }\n }\n\n private sortByNameDesc(a: OrgStructureDescriptor, b: OrgStructureDescriptor) {\n if (!a.name) return 1;\n if (!b.name) return -1\n return a.name < b.name ? -1 : 1;\n }\n\n private byRelated(which: string, o: OrgStructureDescriptor) {\n if (which == 'ORG')\n return true;\n\n let org = this.filterForm.get('org')?.value?.toUpperCase() ?? '';\n org = org == '' ? null : org;\n if (which == \"DEPT\") {\n return o.name?.toUpperCase().startsWith(`DEPT-${org ?? ''}`);\n }\n\n let dept = this.filterForm.get('dept')?.value?.toUpperCase() ?? '';\n dept = dept == '' ? null : dept;\n\n let unit = this.filterForm.get('unit')?.value?.toUpperCase() ?? '';\n unit = unit == '' ? null : unit;\n\n const matcher = new RegExp(`^UNIT-${org ?? '.+'}-${dept ?? '.+'}`);\n return o.name != null && matcher.test(o.name.toUpperCase());\n }\n\n handleFormKeydown(ev: any) {\n switch (ev.key) {\n case \"Enter\": this.search(); break;\n }\n }\n\n public async search() {\n this.isQuerying = true;\n const queryParams: { [key: string]: string | number | undefined | null } = {};\n for(let key in this.filter?.data) {\n //console.log(\"key=\", key, '; value=', this.filter?.data[key]?.value, this._currentParams[key])\n if (this.filter?.data[key]?.value) {\n queryParams[key] = this.filter?.data[key]?.value;\n } else {\n queryParams[key] = null;\n }\n }\n queryParams['pageSize'] = this.filter?.pageSize ?? 10;\n queryParams['sortOn'] = this.filter?.SortSpecifications[0]?.property ?? \"name\";\n queryParams['sortDir'] = this.filter?.SortSpecifications[0]?.direction ?? \"asc\";\n queryParams['selected'] = null;\n queryParams['name'] = this.filter?.data?.name?.value;\n console.log('query', queryParams);\n this.router.navigate(['/orgs'], { queryParams, queryParamsHandling: 'merge' })\n }\n\n private async showDialog(comp: ComponentType, config: MatDialogConfig, virtualPath: string[], showVirtualPath: boolean = true, queryParams?: { selected: string }) {\n console.log(typeof(comp));\n virtualPath.unshift('/orgs');\n if (showVirtualPath) {\n this._location.go(this.router.createUrlTree(virtualPath, { queryParams, queryParamsHandling: 'merge' }).toString());\n }\n config.data.user = this.user;\n const value = await firstValueFrom(this._dialog.open(comp, config).afterClosed());\n \n const queryParamsToRemove = { 'selected': null };\n const root = this.router.createUrlTree(['/orgs'], { queryParams: queryParamsToRemove, queryParamsHandling: 'merge' }).toString()\n this._location.go(root); \n return value;\n return;\n }\n\n public async showMoreInfo(orgs: OrgGroup[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.data = { orgs, orgOptions: this.orgStructureOptions, subOptions: this._route.snapshot.data['subscriptionOptions'] };\n await this.showDialog(OrgDetailsComponent, config, [orgs[0].name, 'details'], showVirtualPath);\n }\n\n public applyLocalUpdates(updates: OrgGroup[]) {\n for (let i=0; i c.name == updates[i].name)\n if (index >= 0) {\n //console.log(`Splicing ${index},1 with ${update[0]}`)\n this.orgGroups = [...this.orgGroups.slice(0, index), updates[i], ...this.orgGroups.slice(index + 1)];\n //console.log(this.computers[index]);\n } else {\n console.log(updates[i]);\n console.warn(\"Couldn't find matching computer to apply local update: \", i, updates[i].name);\n }\n }\n }\n\n public async showEditSubscriptions(orgs: OrgGroup[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"40vw\";\n config.height = \"75vh\";\n config.data = { orgs, options: this._route.snapshot.data['subscriptionOptions'] };\n //const queryParams = orgs.reduce((prev, cur) => { prev['selected'].push(cur); return prev; }, { selected: new Array() })\n const updates = await this.showDialog(EditSubscriptionsComponent, config, [orgs[0].name, 'subscriptions'], showVirtualPath, /*queryParams*/);\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public async showEditManySubscriptions(orgs: OrgGroup[], showVirtualPath: boolean = true) {\n const config = new MatDialogConfig();\n config.panelClass = 'comp-details-dialog';\n config.width = \"40vw\";\n config.height = \"75vh\";\n config.data = { orgs, options: this._route.snapshot.data['subscriptionOptions'] };\n const queryParams = { selected: orgs.map(c => c.name).join(',') };\n const updates = await this.showDialog(EditSubscriptionsComponent, config, ['--selected--', 'subscriptions'], showVirtualPath, queryParams);\n if (updates?.length) {\n this.applyLocalUpdates(updates);\n }\n }\n\n public async showDeploySoftwareToOrg(orgs: OrgGroup[], showVirtualPath: boolean = true) {\n console.log('deploy', orgs);\n const config = new MatDialogConfig();\n config.panelClass = 'org-details-dialog';\n config.width = \"75vw\";\n config.height = \"90vh\";\n config.data = { orgs, options: this._route.snapshot.data['subscriptionOptions'] };\n const queryParams = { selected: orgs.map(c => c.name).join(',') };\n await this.showDialog(SoftwareDeployToOrgComponent, config, [], showVirtualPath, queryParams);\n }\n\n public toggleSelectAll() {\n const selected = this.selectAll.checked;\n for (let key in this.orgGroups) {\n this.orgGroups[key].ui['selected'] = selected;\n\n }\n this.anySelected = selected;\n this.selected = selected ? [...this.orgGroups] : [];\n }\n\n public adjustSelectAll() {\n let all = true;\n let some = false;\n this.selected = [];\n for (let org of this.orgGroups) {\n let thisone = org.ui['selected'] === true;\n all &&= thisone;\n some ||= thisone;\n if (thisone) this.selected.push(org);\n }\n\n this.selectAllIndeterminate = some;\n this.selectAllChecked = all;\n this.anySelected = some;\n }\n\n private setFilter(filter: OrgGroupFilter, v: { [ctrl: string]: string }) {\n filter.data = {};\n let name = '';\n if (typeof(v[\"unit\"]) != 'undefined' && v[\"unit\"])\n name = \"UNIT-\" + v[\"org\"] + \"-\" + v[\"dept\"] + \"-\" + v[\"unit\"] ;\n else if(typeof(v[\"dept\"]) != 'undefined' && v[\"dept\"])\n name = \"DEPT-\" + v[\"org\"] + \"-\" + v[\"dept\"];\n else if (typeof(v[\"org\"]) != 'undefined' && v[\"org\"])\n name = \"ORG-\" + v[\"org\"];\n filter.data.name = { value: name };\n console.log(v[\"dept\"]);\n console.log(filter.data.name);\n // filter.data.organization = { value: v[\"org\"] };\n // filter.data.building = { value: v[\"bldg\"] };\n // filter.data.unit = { value: v[\"unit\"] };\n // filter.data.department = { value: v[\"dept\"] };\n }\n\n private async setSort(filter: OrgGroupFilter, v: Sort, shouldSearch: boolean = true) {\n if (v.direction === \"\") {\n filter.SortSpecifications = [];\n return;\n }\n\n filter.SortSpecifications = [\n { property: v.active, direction: v.direction }\n ];\n console.log(\"Setting sort: \" + v.active + \" \" + v.direction);\n if (shouldSearch)\n await this.search();\n }\n\n private async setPage(filter: OrgGroupFilter) {\n filter.page = 0;\n filter.pageSize = 1;\n await this.search();\n }\n\n @HostListener(\"window:scroll\")\n public onScroll() {\n console.log(\"scrolling\", document.body.scrollTop);\n const verticalOffset = window.pageYOffset\n || document.documentElement.scrollTop\n || document.body.scrollTop || 0;\n this.isScrolledTop = verticalOffset < 100;\n }\n\n public scrollTop() {\n window.scroll({\n top: 0,\n left: 0,\n behavior: 'smooth'\n });\n }\n\n\n\n}\n","\n

Search for organizational structures below

\n
\n \n \n \n \n {{o.description}}\n \n \n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n \n \n \n \n {{o.description}}\n \n \n \n \n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n {{ selected.length }} selected\n \n \n \n \n Group Name\n {{ row.name }}\n Description\n {{row.description}}\n Actions\n \n \n \n \n \n \n \n\n \n \n\n \n
\n \n \n \n
\n
\n

No results

\n

Please enter a query and click search.\n

\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { MatLegacyCheckboxChange as MatCheckboxChange } from '@angular/material/legacy-checkbox';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatLegacySnackBar as MatSnackBar } from '@angular/material/legacy-snack-bar';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { ActivatedRoute, Data } from '@angular/router';\nimport { debounceTime, firstValueFrom, forkJoin, map, merge, Observable, startWith, Subscriber, switchMap, tap } from 'rxjs';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { User } from 'src/app/models/user';\nimport { UserFilterModel, UserFilterType } from 'src/app/models/user-filter';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { ConfirmComponent } from '../dialog-bodies/confirm/confirm.component';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'app-settings',\n templateUrl: './settings.component.html',\n styleUrls: ['./settings.component.scss']\n})\nexport class SettingsComponent implements OnInit {\n //@ViewChild(MatPaginator) paginator!: MatPaginator;\n @ViewChild(MatSort) sort!: MatSort;\n public user?: ActiveUser;\n public registeredUsers: Array = new Array();\n public filter!: UserFilterModel;\n form: FormGroup;\n public loading: boolean = false;\n private _saveChanges!: Observable;\n private _saveChangesEmitter!: Subscriber;\n \n constructor(\n public location: Location,\n private _route: ActivatedRoute, private _fb: FormBuilder, private _http: HttpClient,\n private _snackBar: MatSnackBar, private _dialog: MatDialog)\n {\n this.form = this._fb.group({ keywords: [''], hawkId: [''], isNewAdmin: [false] });\n this._route.data.subscribe(this.userChanges.bind(this));\n this._saveChanges = new Observable(subscriber => this._saveChangesEmitter = subscriber);\n }\n\n private userChanges({user}:{user:ActiveUser}|Data) {\n this.user = user;\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit() {\n this.filter = new UserFilterModel(UserFilterType.Keywords);\n this.setSort(this.filter, { direction: this.sort.direction, active: this.sort.active });\n this.sort.sortChange.pipe(tap(this.setSort.bind(this, this.filter))).subscribe();\n //this.paginator.page.pipe(tap(this.setPage.bind(this, this.filter))).subscribe();\n merge(\n this.form.valueChanges.pipe(tap(this.setFilter.bind(this, this.filter))),\n this.sort.sortChange.pipe(tap(this.setSort.bind(this, this.filter))),\n this._saveChanges\n //this.paginator.page.pipe(tap(this.setPage.bind(this, this.filter)))\n ).pipe(\n startWith(this.filter),\n debounceTime(300),\n tap(_ => this.loading = true),\n switchMap(() => forkJoin([\n this._http.get(apiConfiguration.apiBaseUrl + \"user/count?\" + this.filter.serialize()),\n this._http.get(apiConfiguration.apiBaseUrl + \"user/search?\" + this.filter.serialize()).pipe(map(users => users.map(u => new User(u.id, u.hawkId, u.userRoles.filter((ur: any) => ur.role.roleName == \"Admin\").length > 0))))\n ]))).subscribe(([count, users]: [number, User[]]) => {\n this.loading = false;\n //this.paginator.length = count;\n this.registeredUsers = users;\n });\n }\n\n private setFilter(filter: UserFilterModel, v: { [ctrl: string]: string }) {\n filter.keywords = v[\"keywords\"].split(' ');\n }\n\n private setSort(filter: UserFilterModel, v: Sort) {\n if (v.direction === \"\") {\n filter.sortSpecifications = [];\n return;\n }\n\n filter.sortSpecifications = [\n { Property: v.active, Direction: v.direction == \"asc\" ? \"Ascending\" : \"Descending\" }\n ];\n }\n\n private async setPage(filter: UserFilterModel) {\n //filter.page = this.paginator.pageIndex;\n //filter.pageSize = this.paginator.pageSize;\n }\n\n public async toggleAdmin(row: User, ev: MatCheckboxChange) {\n row.isAdmin = ev.checked;\n try {\n await firstValueFrom(this._http.put(apiConfiguration.apiBaseUrl + \"user\", row));\n this._saveChangesEmitter.next(true);\n this._snackBar.open(\"Successfully updated user.\", undefined, { duration: 4000 });\n } catch (err) {\n console.error(err);\n this._snackBar.open(\"Failed. See console for more information.\", undefined, { duration: 4000 });\n }\n }\n\n public async addHawkId(hawkId: string, isAdmin: boolean) {\n const newUser = { hawkId, isAdmin };\n console.log(\"would create \", newUser);\n try {\n await firstValueFrom(this._http.post(apiConfiguration.apiBaseUrl + \"user\", newUser));\n this._saveChangesEmitter.next(true);\n this._snackBar.open(\"Success!\", undefined, { duration: 4000 });\n } catch (err) {\n console.error(err);\n this._snackBar.open(\"Failed. See console for more information.\", undefined, { duration: 4000 });\n }\n }\n\n public async removeUser(row: User) {\n try {\n const confirmed = await firstValueFrom(this._dialog.open(ConfirmComponent, { data: {\n title: 'Remove ' + row.hawkId + '?',\n message: 'Are you sure you want to remove this user? They will still be able to log in but will be unable to make changes.'\n }}).afterClosed());\n if (confirmed) {\n await firstValueFrom(this._http.delete(apiConfiguration.apiBaseUrl + `user?id=${row.id}`));\n this._saveChangesEmitter.next(true);\n this._snackBar.open(\"Successfully removed user.\", undefined, { duration: 4000 });\n } else {\n console.log(\"User canceled deletion.\");\n }\n } catch (err) {\n console.error(err);\n this._snackBar.open(\"Failed. See console for more information.\", undefined, { duration: 4000 });\n }\n }\n}\n","\n
\n
\n
\n
\n
\n settings\n

User Settings

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Hawk Id\n {{ row.hawkId }}\n Is Admin1\n \n Remove2\n \n \n
\n \n \n
\n
\n \n \n \n \n \n \n \n
\n

No results

\n

Please add any appropriate users who need write or admin access.\n

\n
\n
\n

Footnotes

\n
    \n
  1. Administrators can register or de-register users, change computer settings, or alter user permissions.
  2. \n
  3. Removed users cannot change computer settings but can still log in to view them since this information is public.
  4. \n
\n
\n \n
\n
\n
\n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\n\n@Component({\n selector: 'app-user-tool-bar',\n templateUrl: './user-tool-bar.component.html',\n styleUrls: ['./user-tool-bar.component.scss']\n})\nexport class UserToolBarComponent implements OnInit {\n @Input() user?: ActiveUser;\n public loading: boolean = false;\n\n constructor(public authService: CommunityAuthService) {\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n computer\n
\n
\n group\n
\n
\n Welcome, {{ user?.hawkId }}.\n \n \n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-welcome',\n templateUrl: './welcome.component.html',\n styleUrls: ['./welcome.component.scss']\n})\nexport class WelcomeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n
\n insert_invitation \n

Calendar Combiner

\n
\n
\n

Adjust the settings for auto-generated events placed on your University of Iowa calendar. Currently, you can manage your preferences for course schedules, holidays, and University dates such as the last day to add or drop a course.

\n
\n \n
\n
\n
\n
\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { ActiveUser } from 'src/app/models/active-user';\n\n@Component({\n selector: 'helpdesk-link',\n templateUrl: './helpdesk-link.component.html',\n styleUrls: ['./helpdesk-link.component.scss']\n})\nexport class HelpdeskLinkComponent implements OnInit {\n @Input() user?: ActiveUser;\n @Input() href?: string;\n\n constructor() { }\n\n ngOnInit() {\n console.debug(this.user, this.user?.isAdmin, this.href);\n }\n\n}\n","\n link\n","import { Component, Input, OnInit, NgZone } from '@angular/core';\nimport { interval } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-loading',\n templateUrl: './loading.component.html',\n styleUrls: ['./loading.component.scss']\n})\nexport class LoadingComponent implements OnInit {\n @Input() message: string = \"Please wait...\";\n @Input() timeoutMessage: string = \"This is taking an unusually long time. If the problem persists, please contact the ITS Help Desk.\";\n\n /** Timeout in milliseconds before showing timeoutMessage. */\n @Input() timeout: number = environment.timeoutHelpDelay;\n \n showTimeoutMessage = false;\n\n constructor(\n private _ngZone: NgZone \n ) {\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n interval(this.timeout).subscribe(_ =>\n this.showTimeoutMessage = true\n );\n });\n }\n\n ngAfterContentInit() {\n\n }\n\n}\n","
\n
\n \n

Page Loading

\n

{{ message }}

\n

{{ timeoutMessage }}

\n
\n
","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\nimport { ActiveUser } from 'src/app/models/active-user';\nimport { debounceTime, delay, distinctUntilChanged, startWith, tap } from 'rxjs/operators';\nimport { CommunityAuthService } from 'src/app/services/community-auth.service';\n\n@Component({\n selector: 'title-bar',\n templateUrl: './title-bar.component.html',\n styleUrls: ['./title-bar.component.scss'],\n //encapsulation: ViewEncapsulation.None\n})\nexport class TitleBarComponent implements OnInit {\n authenticated: boolean = false;\n isImpersonating: boolean = false;\n accountName: string = \"N/A\";\n @Input() user?: ActiveUser;\n \n constructor(\n public authService: CommunityAuthService\n ) { }\n\n ngOnInit(): void {\n this.authenticated = this.authService.isAuthenticated();\n this.authService.isAuthenticated$.pipe(\n delay(25), // enough to prevent \"Expression has changed after it was checked.\"\n distinctUntilChanged(),\n tap(this.authChange.bind(this))\n ).subscribe();\n }\n\n endImpersonation() {\n this.authService.endImpersonation();\n location.reload();\n }\n\n authChange(a: boolean) {\n this.authenticated = a;\n this.isImpersonating = this.authService.isImpersonating;\n this.accountName = this.authService.applicationUsername;\n }\n\n login() {\n this.authService.login(undefined, true);\n }\n\n refresh() {\n this.authService.refresh();\n }\n\n logout() {\n this.authService.endImpersonation();\n this.authService.logout();\n }\n}\n","\n
\n \n \n
\n

Welcome, \n {{ user.hawkId }}! \n \n {{ user.hawkId }}\n \n \n \n

\n \n\n \n \n \n settings \n Course Settings\n \n \n event\n Registrar Dates\n \n \n import_export\n Exports\n \n \n admin_panel_settings\n Admin\n \n
\n \n arrow_back\n Logout\n \n
\n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { from, Observable, of } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\nimport { OAuthConfig } from 'src/environments/environment';\nimport { CommunityAuthService } from '../services/community-auth.service';\n\n//([a-ln-zA-LN-Z].*|m[b-zB-Z].*|ma[a-rT-ZA-RT-Z].*|mas[a-su-zA-SU-Z].*|mast[a-df-zA-DF-Z].*|maste[a-qs-zA-QS-Z].*)\n@Injectable()\nexport class AuthGuard {\n constructor(\n private oauthService: OAuthService,\n private authService: CommunityAuthService\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable {\n this.oauthService.configure(OAuthConfig);\n //this.oauthService.events.subscribe(e => console.log(\"event, e\", e));\n return from(this.authService.runInitialLoginSequence())\n .pipe(\n switchMap(_ => this.authService.isDoneLoading$),\n filter(isDone => isDone),\n switchMap(_ => this.authService.isAuthenticated$),\n tap(isAuth => { if (! isAuth) this.authService.login(state.url); })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { ActiveUser } from '../models/active-user';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { HttpClient } from '@angular/common/http';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class RoleGuard {\n\n constructor(\n private router: Router,\n private http: HttpClient\n ) { }\n\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n const userEndpoint = `${apiConfiguration.apiBaseUrl}user/current`;\n const user = new ActiveUser(await firstValueFrom(this.http.get(userEndpoint))); \n if (user.hasAnyRole(\"Admin\", \"Impersonator\"))\n return true;\n\n this.router.navigate(['/']);\n return false;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest, HttpErrorResponse } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { CommunityAuthService } from '../services/community-auth.service';\nimport { ErrorService } from '../services/error.service';\nimport { AppError } from '../models/app-error';\nimport { ErrorTypes } from '../types/error-types';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class AuthHeaderInterceptor implements HttpInterceptor {\n constructor(\n private _authService: CommunityAuthService,\n private _errorService: ErrorService\n ) {}\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n // Adding JWT Token \"Authorization: Bearer\" is handled by OAuth module (via config in app.module.ts)\n // We only use this for impersonation.\n let headers = req.headers;\n if (this._authService.isImpersonating) {\n headers = headers.set('X-Impersonate', this._authService.impersonatedHawkId);\n }\n\n const cloned = req.clone({ headers }); // clone it because Requests are immutable.\n return next.handle(cloned).pipe(tap(<(x: any) => void>this._success.bind(this), this._failure.bind(this)));\n }\n\n private _success(): void {\n\n }\n\n private _failure(err: any): void {\n if (err instanceof HttpErrorResponse && err.status !== 401) {\n return;\n }\n console.log(err);\n if (err?.error?.code === null)\n this._errorService.notify(new AppError(ErrorTypes.HTTP_UNAUTH401, \"Unauthorized access.\", err));\n }\n\n}\n","export class ActiveUser {\n constructor(private user: any) {\n this.raw = user;\n this.hawkId = this.raw?.hawkId;\n }\n\n get id(): number { return this.raw.id; }\n readonly raw: { accountRoles: any[] } & any;\n readonly hawkId: string;\n get isImpersonated(): boolean { return false; }\n hasAnyRole(...roles: string[]): boolean {\n return !!(this.raw\n && this.raw.userRoles\n && this.raw.userRoles.find((e: any) => !!roles.find(r => r.toUpperCase() === e.role.roleName.toUpperCase())));\n }\n get isAdmin(): boolean { return this.hasAnyRole(\"admin\"); }\n get iCalAccessKey(): string { return this.raw.iCalAccessKey || null; }\n get iCalEnabled(): boolean { return this.raw.iCalEnabled || false; }\n get displayName(): string { return this.raw.displayName; }\n get activeMailbox(): string { return this.raw.calendarID; }\n}","export class AppError {\n\n constructor(\n public code: string,\n public title: string,\n public details: string) {}\n}","export class FilterOp {\n value?: string;\n op?: number;\n}\n\nexport class ComputerFilter {\n constructor(\n public page: number = 0,\n public pageSize: number = 10,\n public keywords: string[] = [],\n public filterBy: 'Keys' | 'Field' = 'Field'\n ) {}\n\n public data?: {\n [key: string]: FilterOp | undefined;\n name?: FilterOp;\n nameOp? : FilterOp;\n organization?: FilterOp;\n department?: FilterOp;\n unit?: FilterOp;\n building?: FilterOp;\n };\n\n SortSpecifications: { property: string, direction: string }[] = [];\n\n /**\n * Serializes to a .NET-compatible Query string. E.g.,\n * filter.page=0&filter.pageSize=10&filter.SortSpecifications[0].Property=start&filter.SortSpecifications[0].Direction=Ascending\n */\n serialize(): string {\n return this._serialize(this);\n }\n\n private _serialize(obj: any, completed: string[] = [], path: string = \"filter\", nest?: string): string {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== this.serialize.name && key !== this._serialize.name) {\n const newpath = !isNaN(+key) ? path + `[${key}]` : path + \".\" + key;\n if (typeof obj[key] === 'object') {\n this._serialize(obj[key], completed, newpath);\n } else {\n completed.push(newpath.concat(\"=\" + obj[key]));\n }\n }\n }\n\n return completed.join(\"&\");\n }\n}","import { EventEmitter } from '@angular/core';\n\nexport type UISpecific = {\n -readonly [K in keyof Computer]: Computer[K]; \n } & {\n changes: EventEmitter<[string, any]>;\n };\n\nexport class Computer {\n [key: string]: any;\n constructor(public raw: any) {\n this.id = raw.name;\n\n this.distinguishedName = this.raw.distinguishedName;\n this.name = this.raw.name;\n this.description = this.raw.description;\n this.location = this.raw.location;\n this.memberOf = this.raw.memberOf;\n this.created = new Date(this.raw.whenCreated);\n this.lastupdated = new Date(this.raw.whenChanged);\n\n const self = this;\n this.ui = new Proxy( { ...this, changes: new EventEmitter<[string, any]>() }, {\n set: function(target, prop: string, value, receiver) {\n self[prop] = target[prop] = value;\n target.changes.emit([prop, value]);\n return true;\n }\n });\n }\n\n readonly ui: UISpecific;\n readonly distinguishedName: string;\n readonly name: string;\n readonly description: string;\n readonly location: string;\n readonly memberOf: string[];\n readonly created: Date;\n readonly lastupdated: Date;\n\n // Fields for updating/monitoring for changes...\n readonly id: number;\n\n asApiModel(): Omit {\n const { ui, ...picked } = this;\n return picked;\n }\n}","export class FilterOp {\n value?: string;\n op?: number;\n}\n\nexport class OrgGroupFilter {\n constructor(\n public page: number = 0,\n public pageSize: number = 10,\n public keywords: string[] = [],\n public filterBy: 'Keys' | 'Field' = 'Field'\n ) {}\n\n public data?: {\n [key: string]: FilterOp | undefined;\n name?: FilterOp;\n organization?: FilterOp;\n department?: FilterOp;\n unit?: FilterOp;\n building?: FilterOp;\n };\n\n SortSpecifications: { property: string, direction: string }[] = [];\n\n /**\n * Serializes to a .NET-compatible Query string. E.g.,\n * filter.page=0&filter.pageSize=10&filter.SortSpecifications[0].Property=start&filter.SortSpecifications[0].Direction=Ascending\n */\n serialize(): string {\n return this._serialize(this);\n }\n\n private _serialize(obj: any, completed: string[] = [], path: string = \"filter\", nest?: string): string {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== this.serialize.name && key !== this._serialize.name) {\n const newpath = !isNaN(+key) ? path + `[${key}]` : path + \".\" + key;\n if (typeof obj[key] === 'object') {\n this._serialize(obj[key], completed, newpath);\n } else {\n completed.push(newpath.concat(\"=\" + obj[key]));\n }\n }\n }\n completed.push(\"bbnone\");\n return completed.join(\"&\");\n }\n}","import { EventEmitter } from '@angular/core';\n\nexport type UISpecificOrg = {\n -readonly [K in keyof OrgGroup]: OrgGroup[K]; \n } & {\n changes: EventEmitter<[string, any]>;\n };\n\nexport class OrgGroup {\n [key: string]: any;\n constructor(public raw: any) {\n this.id = raw.name;\n\n // this.distinguishedName = this.raw.distinguishedName;\n this.name = this.raw.name;\n // this.department = this.raw.department;\n // this.unit = this.raw.unit;\n // this.memberOf = this.raw.memberOf;\n this.description = this.raw.description;\n this.created = new Date(this.raw.whenCreated);\n this.lastupdated = new Date(this.raw.whenChanged);\n this.distinguishedName = this.raw.distinguishedName;\n this.selected = false;\n\n const self = this;\n this.ui = new Proxy( { ...this, changes: new EventEmitter<[string, any]>() }, {\n set: function(target, prop: string, value, receiver) {\n self[prop] = target[prop] = value;\n target.changes.emit([prop, value]);\n return true;\n }\n });\n }\n\n readonly ui: UISpecificOrg;\n readonly name: string;\n readonly description: string;\n readonly distinguishedName: string;\n readonly created: Date;\n readonly lastupdated: Date;\n selected: boolean;\n\n // Fields for updating/monitoring for changes...\n readonly id: number;\n\n asApiModel(): Omit {\n const { ui, ...picked } = this;\n return picked;\n }\n}","export class OrgStructure {\n [key: string]: OrgStructureDescriptor[];\n readonly ORG: OrgStructureDescriptor[] = [];\n readonly BLDG: OrgStructureDescriptor[] = [];\n readonly UNIT: OrgStructureDescriptor[] = [];\n readonly DEPT: OrgStructureDescriptor[] = [];\n\n constructor(_raw: OrgStructure | undefined) {\n if (_raw) {\n this.ORG = _raw.ORG.map(o => new OrgStructureDescriptor(o));\n this.BLDG = _raw.BLDG.map(o => new OrgStructureDescriptor(o));\n this.UNIT = _raw.UNIT.map(o => new OrgStructureDescriptor(o));\n this.DEPT = _raw.DEPT.map(o => new OrgStructureDescriptor(o));\n }\n }\n}\n\nexport class OrgStructureDescriptor {\n constructor(raw: OrgStructureDescriptor) {\n this.name = raw.name;\n this.shortName = raw.shortName ?? this.shortName;\n this.description = raw.description;\n this.memberOf = raw.memberOf;\n }\n public shortName(i: number = 0): string | undefined {\n let prefix = new RegExp(`^(?:[^-]+-){${i+1}}`).exec(this.name ?? '');\n if (!prefix || prefix.length != 1) {\n return this.name;\n }\n return this.name?.substring(prefix[0].length);\n }\n public readonly name?: string;\n public readonly description?: string;\n public readonly memberOf?: string;\n\n public ui: { selected: boolean } = { selected: false };\n}","export class Software { \n name: string ='';\n description : string ='';\n deploymentSource : string ='';\n\n constructor(raw: any){\n this.description = raw.description;\n this.name = raw.name;\n this.deploymentSource = raw.deploymentSource;\n }\n}\n\nexport class AdSoftware {\n softwareAll : Software[] =[];\n softwareSynced : Software[] =[];\n}\n\nexport class SyncedSoftwareSummary {\n available : Software[]=[];\n mandatory : Software[]=[];\n exclude : Software[]=[];\n asap : Software[]=[];\n}\n\nexport class SoftwareDeployType {\n type : string = \"\";\n label : string = \"\";\n}","export let subscriptionCodeToTitle: {[key: string]: string } = {\n \"MW\" : \"Maintenance Window\",\n \"PM\" : \"Power Management\",\n \"SUS\" : \"Windows Updates\",\n \"SCUP\" : \"3rd-Party App Updates\",\n \"DCU\" : \"Dell/MS Drivers\",\n \"W10\" : \"Windows Feature Updates\",\n \"RBTNTF\" : \"Reboot Notification\",\n \"UPC\" : \"User Profile Cleanup\",\n \"ODKFM\" : \"OneDrive Options\",\n \"ADA\" : \"ADA Graphics\"\n };","export class SubscriptionDelta {\n constructor(\n public subscriptionType: string,\n public memberDn: string,\n public action: number,\n public groupToRemove: string,\n public groupToAdd: string) {}\n\n ui: { applied: boolean, canRetry: boolean, lastError: string | undefined } \n = { applied: false, canRetry: false, lastError: undefined };\n}\n\nexport const actionCodeLookup = { \"Add\": 1, \"Remove\": 2, \"Replace\": 3 };","\nexport class SubscriptionDictionary {\n [key: string]: SubscriptionDescriptor[];\n\n constructor(_raw: SubscriptionDictionary | undefined) {\n if (_raw) {\n for(let key in _raw) {\n this[key] = _raw[key].map(o => new SubscriptionDescriptor(o));\n }\n }\n }\n}\n\nexport class SubscriptionDescriptor {\n constructor(raw: SubscriptionDescriptor) {\n this.name = raw.name;\n this.distinguishedName = raw.distinguishedName;\n this.description = raw.description;\n this.isDefault = raw.isDefault;\n this.isRecommended = raw.description?.includes(\"[Recommended\") ?? false;\n }\n\n public readonly name?: string;\n public readonly distinguishedName?: string;\n public readonly description?: string;\n public readonly isDefault: boolean = false;\n public readonly isRecommended: boolean = false;\n\n public ui: { selected: boolean } = { selected: false };\n }","export class UserFilterModel {\n [key: string]: string | string[] | any;\n\n constructor(\n public type = UserFilterType.Keywords,\n public keywords: string[] = [],\n public page: number = 0,\n public pageSize: number = 10,\n public sortSpecifications: {}[] = []){}\n\n /**\n * Serializes to a .NET-compatible Query string. E.g.,\n * filter.page=0&filter.pageSize=10&filter.SortSpecifications[0].Property=start&filter.SortSpecifications[0].Direction=Ascending\n */\n serialize(): string {\n return this._serialize(this);\n }\n\n private _serialize(obj: any, completed: string[] = [], path: string = \"filter\", nest?: string): string {\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== this.serialize.name && key !== this._serialize.name) {\n const newpath = !isNaN(+key) ? path + `[${key}]` : path + \".\" + key;\n if (typeof obj[key] === 'object') {\n this._serialize(obj[key], completed, newpath);\n } else {\n completed.push(newpath.concat(\"=\" + obj[key]));\n }\n }\n }\n\n return completed.join(\"&\");\n }\n}\n\nexport enum UserFilterType {\n Keywords = \"1\",\n Username = \"2\"\n};","export class User {\n constructor(\n public id: number,\n public hawkId: string,\n public isAdmin: boolean) {}\n}","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, firstValueFrom, map } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { Computer } from \"../models/computer\";\nimport { ComputerFilter } from \"../models/computer-filter\";\n\n@Injectable()\nexport class ComputerResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.request(route);\n }\n\n request(route: ActivatedRouteSnapshot): Observable {\n const p = route.params;\n const q = route.queryParams;\n try {\n if (p[\"computerName\"] === \"--selected--\") {\n const filter = new ComputerFilter();\n filter.filterBy = 'Keys';\n filter.keywords = q['selected']?.split(',') ?? [];\n \n return this.http.get(apiConfiguration.apiBaseUrl + \"computer?\" + filter.serialize())\n .pipe(map(results => results.map((cdp: any | Computer) => new Computer(cdp))));\n }\n\n const url = apiConfiguration.apiBaseUrl + `computer/${p[\"computerName\"]}`;\n return this.http.get(url).pipe(map(c => [new Computer(c)]));\n } catch (err) {\n console.error(err);\n return from(this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`));\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, firstValueFrom, map, catchError, of } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { Computer } from \"../models/computer\";\nimport { ComputerCollection } from \"../models/computer-collection\";\nimport { ComputerFilter, FilterOp } from \"../models/computer-filter\";\nimport { ErrorService } from \"../services/error.service\";\nimport { AppError } from \"../models/app-error\";\nimport { ErrorTypes } from \"../types/error-types\";\n\n@Injectable()\nexport class ComputersResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient,\n private errorService: ErrorService)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.request(route);\n }\n\n request(route: ActivatedRouteSnapshot): Observable {\n const p = route.queryParams;\n try {\n const filter = new ComputerFilter();\n filter.data = {};\n let hasValues = false;\n for(let key in p) {\n if (! p[key] || key == 'pageSize' || key.startsWith('sort')) continue;\n filter.data[key] = { value: p[key] };\n hasValues = true;\n }\n filter.pageSize = p['pageSize'] ?? 10;\n filter.SortSpecifications = [ { property: p['sortOn'], direction: p['sortDir'] === \"desc\" ? \"Descending\" : \"Ascending\" }];\n if (! hasValues)\n return from([[]]);\n\n return this.http\n .get(apiConfiguration.apiBaseUrl + \"computer?\" + filter.serialize())\n .pipe(\n map(results => results.map((cdp: any | Computer) => new Computer(cdp))),\n catchError(err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.errorService.notify(new AppError(ErrorTypes.HTTP_UNAUTH401, err.message, err.statusText));\n return of(undefined);\n }\n \n return from(this.router.navigate(['help/unknown-error']));\n }));\n } catch (err) {\n console.error(err);\n return from(this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`));\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, firstValueFrom, map } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { OrgGroup } from \"../models/org-group\";\nimport { OrgGroupFilter } from \"../models/org-filter\";\n\n@Injectable()\nexport class OrgGroupResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.request(route);\n }\n\n request(route: ActivatedRouteSnapshot): Observable {\n const p = route.params;\n const q = route.queryParams;\n try {\n if (p[\"OrgGroupName\"] === \"--selected--\") {\n const filter = new OrgGroupFilter();\n filter.filterBy = 'Keys';\n filter.keywords = q['selected']?.split(',') ?? [];\n \n return this.http.get(apiConfiguration.apiBaseUrl + \"orgstructure/filter?\" + filter.serialize())\n .pipe(map(results => results.map((cdp: any | OrgGroup) => new OrgGroup(cdp))));\n }\n\n const url = apiConfiguration.apiBaseUrl + `orgstructure/${p[\"OrgGroupName\"]}`;\n return this.http.get(url).pipe(map(c => [new OrgGroup(c)]));\n } catch (err) {\n console.error(err);\n return from(this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`));\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, map, catchError, of } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { OrgGroupFilter } from \"../models/org-filter\";\nimport { ErrorService } from \"../services/error.service\";\nimport { AppError } from \"../models/app-error\";\nimport { ErrorTypes } from \"../types/error-types\";\nimport { OrgGroup } from \"../models/org-group\";\n\n@Injectable()\nexport class OrgGroupsResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient,\n private errorService: ErrorService)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return this.request(route);\n }\n\n request(route: ActivatedRouteSnapshot): Observable {\n const p = route.queryParams;\n try {\n const filter = new OrgGroupFilter();\n filter.data = {};\n let hasValues = false;\n for(let key in p) {\n if (! p[key] || key == 'pageSize' || key.startsWith('sort')) continue;\n filter.data[key] = { value: p[key] };\n hasValues = true;\n }\n filter.pageSize = p['pageSize'] ?? 10;\n filter.SortSpecifications = [ { property: p['sortOn'], direction: p['sortDir'] === \"desc\" ? \"Descending\" : \"Ascending\" }];\n if (! hasValues)\n return from([[]]);\n\n return this.http\n .get(apiConfiguration.apiBaseUrl + \"orgstructure/filter?\" + filter.serialize())\n .pipe(\n map(results => results.map((cdp: any | OrgGroup) => new OrgGroup(cdp))),\n catchError(err => {\n if (err instanceof HttpErrorResponse && err.status === 401) {\n this.errorService.notify(new AppError(ErrorTypes.HTTP_UNAUTH401, err.message, err.statusText));\n return of(undefined);\n }\n \n return from(this.router.navigate(['help/unknown-error']));\n }));\n } catch (err) {\n console.error(err);\n return from(this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`));\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { OrgStructure } from \"../models/org-structure\";\n\n@Injectable()\nexport class OrgStructureResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return from(this.request(route))\n }\n\n async request(route: ActivatedRouteSnapshot): Promise {\n const p = route.params;\n try {\n const url = apiConfiguration.apiBaseUrl + `orgstructure`;\n const raw = await this.http.get(url).toPromise();\n return new OrgStructure(raw);\n } catch (err) {\n console.error(err);\n return await this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`);\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, firstValueFrom } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { OrgStructure } from \"../models/org-structure\";\nimport { SubscriptionDictionary } from \"../models/subscription\";\n\n@Injectable()\nexport class SubscriptionResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient)\n {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return from(this.request(route))\n }\n\n async request(route: ActivatedRouteSnapshot): Promise {\n const p = route.params;\n try {\n const url = apiConfiguration.apiBaseUrl + `subscriptions`;\n const raw = await firstValueFrom(this.http.get(url));\n return new SubscriptionDictionary(raw);\n } catch (err) {\n console.error(err);\n return await this.notfound(`We cannot find this endpoint. This is likely an app configuration issue.`);\n }\n }\n\n \n async notfound(msg: string): Promise {\n const path = this.location.path();\n await this.router.navigate(['notfound'], { skipLocationChange: true, queryParams: { message: msg}});\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, map, catchError, of } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { ActiveUser } from '../models/active-user';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { ErrorService } from \"../services/error.service\";\nimport { CommunityAuthService } from \"../services/community-auth.service\";\n\n@Injectable()\nexport class UserWithFallbackResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient,\n private errorService: ErrorService,\n private authService:CommunityAuthService\n ) {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return from(this.requestPage(route))\n }\n\n requestPage(route: ActivatedRouteSnapshot): Observable {\n const url = apiConfiguration.apiBaseUrl + `user/current`;\n return this.http.get(url).pipe(\n map(raw => new ActiveUser(raw)),\n catchError(err => {\n console.log(\"in the catch for some reason\", err);\n return of(new ActiveUser({ hawkId: this.authService.applicationUsername }))\n }));\n }\n\n async showButStay(loc: string) {\n const path = this.location.path();\n await this.router.navigate([loc], { skipLocationChange: true });\n this.location.replaceState(path);\n }\n}\n","import { Injectable, Inject } from \"@angular/core\";\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\nimport { Observable, from, map, catchError, of } from 'rxjs';\nimport { Location } from '@angular/common';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { ActiveUser } from '../models/active-user';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { ErrorService } from \"../services/error.service\";\nimport { AppError } from \"../models/app-error\";\nimport { ErrorTypes } from \"../types/error-types\";\n\n@Injectable()\nexport class UserResolver {\n constructor(\n private router: Router,\n private location: Location,\n private http: HttpClient,\n private errorService: ErrorService\n ) {\n }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n return from(this.requestPage(route))\n }\n\n requestPage(route: ActivatedRouteSnapshot): Observable {\n const url = apiConfiguration.apiBaseUrl + `user/current`;\n return this.http.get(url).pipe(\n map(raw => new ActiveUser(raw)),\n catchError(err => {\n console.log(\"in the catch for some reason\", err);\n if (err instanceof HttpErrorResponse && err.status === 404) {\n return from(this.showButStay(\"help/not-found\"));\n } else if (err instanceof HttpErrorResponse && err.status === 401) {\n this.errorService.notify(new AppError(ErrorTypes.HTTP_UNAUTH401, err.message, err.statusText));\n return of(undefined);\n } else {\n return from(this.showButStay(\"help/unknown-error\"));\n }\n }));\n }\n\n async showButStay(loc: string) {\n const path = this.location.path();\n await this.router.navigate([loc], { skipLocationChange: true });\n this.location.replaceState(path);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { OAuthErrorEvent, OAuthService } from 'angular-oauth2-oidc';\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject } from 'rxjs';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { OAuthConfig } from 'src/environments/environment';\n\n// Isn't it silly to try to make one of these auth services on our own? So, we won't.\n// https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/blob/master/src/app/core/auth.service.ts\n@Injectable({ providedIn: 'root' })\nexport class CommunityAuthService {\n\n constructor(\n private oauthService: OAuthService,\n private router: Router,\n ) {\n // Useful for debugging:\n this.oauthService.events.subscribe(event => {\n if (event instanceof OAuthErrorEvent) {\n console.error(event);\n } else {\n //console.warn(event);\n }\n });\n\n // This is tricky, as it might cause race conditions (where access_token is set in another\n // tab before everything is said and done there.\n // TODO: Improve this setup.\n window.addEventListener('storage', (event) => {\n // The `key` is `null` if the event was caused by `.clear()`\n if (event.key !== 'access_token' && event.key !== null) {\n return;\n }\n\n console.warn('Noticed changes to access_token (most likely from another tab), updating isAuthenticated');\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\n\n if (!this.oauthService.hasValidAccessToken()) {\n this.navigateToLoginPage();\n }\n });\n\n this.oauthService.events\n .subscribe(_ => {\n this.isAuthenticatedSubject$.next(this.oauthService.hasValidAccessToken());\n });\n\n this.oauthService.events\n .pipe(filter(e => ['token_received'].includes(e.type)))\n .subscribe(e => this.oauthService.loadUserProfile());\n\n this.oauthService.events\n .pipe(filter(e => ['session_terminated', 'session_error'].includes(e.type)))\n .subscribe(e => this.navigateToLoginPage());\n\n this.oauthService.setupAutomaticSilentRefresh();\n this.isAuthenticatedSubject$ = new BehaviorSubject(this.isAuthenticated());\n this.isAuthenticated$ = this.isAuthenticatedSubject$.asObservable();\n this.canActivateProtectedRoutes$ = combineLatest([\n this.isAuthenticated$,\n this.isDoneLoading$\n ]).pipe(map(values => values.every(b => b))); \n }\n\n // These normally won't be exposed from a service like this, but\n // for debugging it makes sense.\n public get accessToken() { return this.oauthService.getAccessToken(); }\n public get refreshToken() { return this.oauthService.getRefreshToken(); }\n public get identityClaims(): {[key: string]: any} { return this.oauthService?.getIdentityClaims(); }\n public get idToken() { return this.oauthService.getIdToken(); }\n public get logoutUrl() { return this.oauthService.logoutUrl; }\n\n private isAuthenticatedSubject$ : BehaviorSubject;\n public isAuthenticated$ : Observable;\n public isAuthenticated() { return this.oauthService.hasValidAccessToken(); }\n\n private isDoneLoadingSubject$ = new ReplaySubject();\n public isDoneLoading$ = this.isDoneLoadingSubject$.asObservable();\n\n private isImpersonatedSubject$ = new BehaviorSubject(false);\n public isImpersonated = this.isImpersonatedSubject$.asObservable();\n\n /**\n * Publishes `true` if and only if (a) all the asynchronous initial\n * login calls have completed or errorred, and (b) the user ended up\n * being authenticated.\n *\n * In essence, it combines:\n *\n * - the latest known state of whether the user is authorized\n * - whether the ajax calls for initial log in have all been done\n */\n public canActivateProtectedRoutes$: Observable;\n\n private navigateToLoginPage() {\n // TODO: Remember current URL\n this.router.navigateByUrl('/should-login')\n }\n\n public runInitialLoginSequence(): Promise {\n if (location.hash) {\n console.log('Encountered hash fragment, plotting as table...');\n console.table(location.hash.substr(1).split('&').map(kvp => kvp.split('=')));\n }\n\n // 0. LOAD CONFIG:\n // First we have to check to see how the IdServer is\n // currently configured:\n return this.oauthService.loadDiscoveryDocument()\n .then(() => this.oauthService.tryLogin())\n // 1. HASH LOGIN:\n // Try to log in via hash fragment after redirect back\n // from IdServer from initImplicitFlow:\n //.then(() => this.oauthService.tryLoginCodeFlow())\n .then(() => {\n if (this.oauthService.hasValidAccessToken()) {\n return Promise.resolve();\n }\n\n // We can't handle the truth, just pass on the problem to the\n // next handler.\n //console.error(\"invalid login token\")\n return Promise.reject();\n })\n\n .then(() => {\n this.isDoneLoadingSubject$.next(true);\n\n // Check for the strings 'undefined' and 'null' just to be sure. Our current\n // login(...) should never have this, but in case someone ever calls\n // initImplicitFlow(undefined | null) this could happen.\n if (this.oauthService.state && this.oauthService.state !== 'undefined' && this.oauthService.state !== 'null') {\n let stateUrl = this.oauthService.state;\n if (stateUrl.startsWith('/') === false) {\n stateUrl = decodeURIComponent(stateUrl);\n }\n console.log(`There was state of ${this.oauthService.state}, so we are sending you to: ${stateUrl}`);\n this.router.navigateByUrl(stateUrl);\n }\n })\n .catch((err) => { \n console.warn(err, arguments);\n this.isDoneLoadingSubject$.next(true); \n });\n }\n\n public login(targetUrl?: string, noState?: boolean) {\n // Note: before version 9.1.0 of the library you needed to\n // call encodeURIComponent on the argument to the method.\n if (!noState)\n {\n this.oauthService.initLoginFlow(targetUrl || this.router.url);\n return;\n }\n this.oauthService.initCodeFlow();\n }\n\n public logout() { this.oauthService.revokeTokenAndLogout(); this.oauthService.logOut(); }\n public refresh() { this.oauthService.silentRefresh(); }\n public hasValidToken() { return this.oauthService.hasValidAccessToken(); }\n\n \n // ITS-added:\n impersonationKey = 'impersonatedHawkId';\n public get isImpersonating() { return !!sessionStorage[this.impersonationKey]; }\n public get impersonatedHawkId() { return sessionStorage[this.impersonationKey]; }\n public get applicationUsername(): string { return this.isImpersonating ? this.impersonatedHawkId : this.actualUsername; }\n public get actualUsername(): string { return this.identityClaims ? this.identityClaims[\"uiowahawkid\"] : null; }\n public endImpersonation() {\n sessionStorage.removeItem('impersonatedHawkId');\n this.isImpersonatedSubject$.next(false);\n }\n public impersonate(hawkId: string) {\n sessionStorage[\"impersonatedHawkId\"] = hawkId;\n this.isImpersonatedSubject$.next(true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AppError } from '../models/app-error';\n\n@Injectable({ providedIn: \"root\" /* root = NG singleton */ })\nexport class ErrorService {\n private _errors = new Subject();\n get errors$() { return this._errors.asObservable() }\n\n public notify(error: AppError) {\n this._errors.next(error);\n }\n}","import { Computer } from \"../models/computer\";\nimport { SubscriptionDelta, actionCodeLookup } from \"../models/subscription-delta\";\n\nexport class MemberOfUtilityService {\n\n public generateSubscriptionDeltas(computers: Computer[], proposedMemberships: { [key: string]: string }, availableGroups: {[key: string]: (string | undefined)[] }) {\n //const deltas: { [key: string]: { localUpdate: Computer, deltas: SubscriptionDelta[] } } = {};\n let deltas: SubscriptionDelta[] = [];\n for (let i = 0; i < computers.length; i++) {\n const computer = computers[i];\n let localUpdate: Computer | any;\n localUpdate = { ...computers[i] }\n deltas = deltas.concat(this.generateGroupDeltasForComputer(computer, proposedMemberships, availableGroups));\n }\n return deltas;\n }\n\n getComputerDefaultForKey(computer: Computer, key: string) {\n let def: string;\n switch (key) {\n case \"ADA\": \n def = computer.memberOf.find(m => m.toLowerCase().startsWith(`CN=GPO-Lockscreen-ADA`.toLowerCase())) ?? '';\n break;\n default:\n def = computer.memberOf.find(m => m.toLowerCase().startsWith(`CN=${key}`.toLowerCase())) ?? '';\n }\n return def;\n }\n\n private shortToLong(availableGroups: (string | undefined)[], short: string) {\n const result = short ? availableGroups.find(g => g?.toLowerCase().startsWith(`CN=${short},`.toLowerCase())) : '';\n // console.log(\"shortToLong\", short, availableGroups);\n return result;\n }\n\n private generateGroupDeltasForComputer(computer: Computer, proposedMemberships: { [key: string]: string }, availableGroups: {[key: string]: (string | undefined)[] }) {\n return Object.keys(proposedMemberships)\n .map(this.getExistingAndProposedMembership.bind(this, computer, proposedMemberships, availableGroups))\n .filter(({ existing, proposed }) => existing !== proposed)\n // special case for ADA unchanged:\n .filter(({ groupType, existing, proposed }) => !(groupType === \"ADA\" && existing === '' && proposed === undefined))\n .filter(({ proposedShort }) => proposedShort !== \"various\")\n .map(this.generateDelta.bind(this, computer));\n }\n\n private getExistingAndProposedMembership(computer: Computer, proposedMemberships: { [key: string]: string }, availableGroups: {[key: string]: (string | undefined)[] }, gtype: string) {\n //const proposedShort = this.form.get(`${gtype}Select`)?.value;\n // console.log(proposedMemberships, gtype);\n const proposedShort = proposedMemberships[gtype.toUpperCase()];\n return {\n groupType: gtype,\n existing: this.getComputerDefaultForKey(computer, gtype),\n proposedShort,\n proposed: this.shortToLong(availableGroups[gtype], proposedShort)\n };\n }\n\n private generateDelta(computer: Computer, proposedChange: { groupType: string, existing: string, proposed: string | undefined, proposedShort: string }): SubscriptionDelta {\n // if(proposedChange.proposed == 'none')\n const { groupType, existing, proposed, proposedShort } = proposedChange;\n // console.log('delta', proposedChange);\n return new SubscriptionDelta(\n groupType,\n computer.name,\n actionCodeLookup[existing == '' ? 'Add' : (proposedShort == '' ? 'Remove' : 'Replace')],\n existing,\n proposed ?? ''\n );\n }\n}","import { AbstractControl, FormGroup } from \"@angular/forms\";\nimport { Observable, throwError, map, startWith, merge } from \"rxjs\";\nimport { OrgStructure, OrgStructureDescriptor } from \"../models/org-structure\";\n\nexport class OrgStructurePipesFactory {\n public build(filterForm: FormGroup, opts: OrgStructure): { [key: string]: Observable } {\n const filtered: { [key: string]: Observable } = {};\n const vc = (c: string) => filterForm.get(c)?.valueChanges ?? throwError(() => new Error(`${c} does not exist.`));\n const conv = (c: string) => vc(c).pipe(map(_ => filterForm.get('org')?.value));\n filtered['bldg'] = vc('bldg').pipe(startWith(''), map(v => this.filterOrgStruct(opts, 'BLDG', v)));\n filtered['org'] = vc('org').pipe(startWith(''), map(v => this.filterOrgStruct(opts, 'ORG', v)));\n filtered['dept'] = merge(vc('dept'), conv('org')).pipe(startWith(''), map(v => this.filterOrgStruct(opts, 'DEPT', v, true)));\n filtered['unit'] = merge(vc('unit'), conv('org'), conv('dept')).pipe(startWith(''), map(v => this.filterOrgStruct(opts, 'UNIT', v, true)));\n return filtered;\n }\n\n private filterOrgStruct(opts: OrgStructure, which: string, curValue?: string, reset: boolean = false): OrgStructureDescriptor[] {\n let v = curValue?.toLowerCase() ?? '';\n if (reset) {\n opts[which].map(o => o.ui.selected = false);\n }\n return opts[which]\n .filter(o => o.name?.toLowerCase().includes(v) || o.description?.toLowerCase().includes(v));\n }\n}","import { Injectable } from \"@angular/core\";\nimport { firstValueFrom } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { apiConfiguration } from 'src/environments/environment';\nimport { AdSoftware, Software, SoftwareDeployType, SyncedSoftwareSummary } from \"../models/software\";\n\n@Injectable()\nexport class SoftwareService {\n private _deployTypeUrl = '../../../../assets/software-deploy-type.json';\n\n constructor(private _http: HttpClient)\n {}\n \n async fetchSoftwareForComputer({ deployType, computerName }: { deployType: string; computerName: string; }) {\n try {\n const url = apiConfiguration.apiBaseUrl + \"software/\"+computerName+\"/\"+deployType;\n const sw = await firstValueFrom(this._http.get(url));\n return [sw.softwareAll, sw.softwareSynced] \n } catch (err) {\n console.error(err);\n return [new Array(), new Array()];\n }\n }\n\n async fetchSoftwareForGroup({ deployType, orgName }: { deployType: string; orgName: string; }) {\n try {\n const url = apiConfiguration.apiBaseUrl + \"software/org/\"+orgName+\"/\"+deployType;\n const sw = await firstValueFrom(this._http.get(url));\n return [sw.softwareAll, sw.softwareSynced] \n } catch (err) {\n console.error(err);\n return [new Array(), new Array()];\n }\n }\n\n async fetchAllSyncedSoftware({ computerName }: { computerName: string; }): Promise {\n try {\n const url = apiConfiguration.apiBaseUrl + \"software/\"+computerName;\n return await firstValueFrom(this._http.get(url));\n } catch (err) {\n console.error(err);\n return new SyncedSoftwareSummary();\n }\n }\n\n async syncSoftware({ computerId, deployType, softwareName }: { computerId: string; deployType: string; softwareName: string[]; }): Promise {\n try {\n const url = `${apiConfiguration.apiBaseUrl}software`;\n const model = {computerName: computerId, deployType: deployType, softwareName: softwareName }\n await firstValueFrom(this._http.put(url, model));\n } catch (err) {\n console.error(err);\n }\n }\n\n async fetchDeployType() {\n return fetch(this._deployTypeUrl).then(res => res.json());\n }\n \n async fetchSoftwareForOrg({ deployType, orgName }: { deployType: string; orgName: string; }) {\n console.log(orgName);\n try {\n const url = apiConfiguration.apiBaseUrl + \"software/org/\"+orgName+\"/\"+deployType;\n const sw = await firstValueFrom(this._http.get(url));\n return [sw.softwareAll, sw.softwareSynced] \n } catch (err) {\n console.error(err);\n return [new Array(), new Array()];\n }\n }\n\n async syncSoftwareOrg({ groupName, deployType, softwareName }: { groupName: string; deployType: string; softwareName: string[]; }): Promise {\n try {\n const url = `${apiConfiguration.apiBaseUrl}software/org`;\n const model = {groupName: groupName, deployType: deployType, softwareName: softwareName}\n console.log('syncsoftwareorg', groupName, url)\n\n await firstValueFrom(this._http.put(url, model));\n } catch (err) {\n console.error(err);\n }\n }\n\n async fetchAllSyncedSoftwareOrg({ orgName }: { orgName: string; }): Promise {\n try {\n console.log(\"fetchallsyncedsoftwareorg\", orgName);\n const url = apiConfiguration.apiBaseUrl + \"software/org/\"+orgName;\n console.log(url);\n const sw = await firstValueFrom(this._http.get(url));\n return sw;\n } catch (err) {\n console.error(err);\n return new SyncedSoftwareSummary();\n }\n }\n \n async moveSelectedSoftwareToSelectedList(selected: string[], source:Software[], sourceDisplay:Software[], dest:Software[]) {\n selected.forEach((item) => {\n let one = source.find(x=>x.name==item)\n if (one != null){\n if (dest.indexOf(one)<0)\n dest.push(one);\n\n const i = source.indexOf(one)??-1;\n if (i>=0)\n source.splice(i, 1);\n\n const j = sourceDisplay.indexOf(one)??-1;\n if (i>=0)\n sourceDisplay.splice(j, 1);\n }\n })\n dest = [...new Set(dest)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n return [source, sourceDisplay, dest]\n }\n\n async moveSelectedSoftwareToAvailableList(selected: string[], source:Software[], dest:Software[], destDisplay:Software[]) {\n selected.forEach((item) => {\n let one = source.find(x=>x.name==item)\n if (one != null){\n if (dest.indexOf(one)<0)\n dest.push(one);\n\n if (destDisplay.indexOf(one)<0)\n destDisplay.push(one);\n \n let i = source.indexOf(one)??-1;\n if (i>=0)\n source.splice(i, 1);\n }\n })\n destDisplay = [...new Set(destDisplay)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n dest = [...new Set(dest)].sort((a,b)=>{return (a.name??'') >= (b.name??'') ? 1:-1});\n\n return [dest, destDisplay,source]\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n// import { A11yModule } from '@angular/cdk/a11y';\n// import { ClipboardModule } from '@angular/cdk/clipboard';\n// import { DragDropModule } from \"@angular/cdk/drag-drop\"\n// import { PortalModule } from '@angular/cdk/portal';\n// import { ScrollingModule } from '@angular/cdk/scrolling';\n// import { CdkStepperModule } from '@angular/cdk/stepper';\nimport { CdkTableModule } from '@angular/cdk/table';\n// import { CdkTreeModule } from '@angular/cdk/tree';\nimport { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete';\n// import { MatBadgeModule } from '@angular/material/badge';\n// import { MatBottomSheetModule } from '@angular/material/bottom-sheet';\n// import { MatButtonModule } from \"@angular/material/button\"\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatLegacyCardModule as MatCardModule } from '@angular/material/legacy-card';\nimport { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox';\n// import { MatChipsModule } from '@angular/material/chips';\n// import { MatStepperModule } from '@angular/material/stepper';\n// import { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\n// import { MatDividerModule } from '@angular/material/divider';\n// import { MatExpansionModule } from '@angular/material/expansion';\n// import { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input';\nimport { MatLegacyListModule as MatListModule } from '@angular/material/legacy-list';\nimport { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu';\n// import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator';\n// import { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';\nimport { MatLegacyRadioModule as MatRadioModule } from '@angular/material/legacy-radio';\nimport { MatLegacySelectModule as MatSelectModule } from '@angular/material/legacy-select';\nimport { MatDividerModule } from '@angular/material/divider';\nimport {MatLegacyButtonModule as MatButtonModule} from '@angular/material/legacy-button';\n// import { MatSidenavModule } from '@angular/material/sidenav';\n// import { MatSliderModule } from '@angular/material/slider';\n// import { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatLegacySnackBarModule as MatSnackBarModule } from '@angular/material/legacy-snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table';\n// import { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n// import { MatTreeModule } from '@angular/material/tree';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n // A11yModule,\n // ClipboardModule,\n // CdkStepperModule,\n CdkTableModule,\n // CdkTreeModule,\n // DragDropModule,\n MatAutocompleteModule,\n // MatBadgeModule,\n // MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n // MatChipsModule,\n // MatStepperModule,\n // MatDatepickerModule,\n MatDialogModule,\n // MatDividerModule,\n // MatExpansionModule,\n // MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n // MatNativeDateModule,\n MatPaginatorModule,\n // MatProgressBarModule,\n // MatProgressSpinnerModule,\n MatRadioModule,\n // MatRippleModule,\n MatSelectModule,\n // MatSidenavModule,\n // MatSliderModule,\n // MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n // MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n // MatTreeModule,\n // PortalModule,\n // ScrollingModule,\n ],\n exports: [\n // A11yModule,\n // ClipboardModule,\n // CdkStepperModule,\n CdkTableModule,\n // CdkTreeModule,\n // DragDropModule,\n MatAutocompleteModule,\n // MatBadgeModule,\n // MatBottomSheetModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n // MatChipsModule,\n // MatStepperModule,\n // MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n // MatExpansionModule,\n // MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n // MatNativeDateModule,\n MatPaginatorModule,\n // MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n // MatRippleModule,\n MatSelectModule,\n // MatSidenavModule,\n // MatSliderModule,\n // MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n // MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n // MatTreeModule,\n // PortalModule,\n // ScrollingModule,\n ],\n})\nexport class MaterialModule {}\n","\nexport const ErrorTypes = {\n \"HTTP_UNAUTH401\": \"HTTP_UNAUTH401\"\n };","import { AuthConfig } from 'angular-oauth2-oidc';\n\n// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n useExternalHome: false,\n home: '/welcome',\n \n timeoutHelpDelay: 10000 /* milliseconds to wait before showing \"this is taking unusually long\" message */\n};\n\nexport const apiConfiguration = {\n apiBaseUrl: \"https://eust-test.iowa.uiowa.edu/api/\",\n userSearchEndpoint: 'user/search'\n};\n\nexport const OAuthConfig: AuthConfig = {\n clientId: \"ecm-eustools-test-2C4B806E7B5542C5A3D1A04B2A737F3D\",\n scope: \"openid profile uiowa.identifiers offline_access\",\n responseType: 'code',\n redirectUri: \"https://eust-test.iowa.uiowa.edu\",\n clearHashAfterLogin: true,\n issuer: \"https://idp-test.uiowa.edu\",\n tokenEndpoint: \"https://idp-test.uiowa.edu/idp/profile/oidc/token\",\n loginUrl: \"https://idp-test.uiowa.edu/idp/profile/oidc/authorize\",\n logoutUrl: \"https://idp-test.uiowa.edu/idp/profile/Logout\"\n}\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["RouterModule","OAuthConfig","ComputerChooserComponent","MiscErrorComponent","PageNotFoundComponent","HelpComponent","LoggedOutComponent","AuthGuard","ComputerResolver","ComputersResolver","OrgStructureResolver","SubscriptionResolver","UserWithFallbackResolver","UserResolver","OrgGroupChooserComponent","OrgGroupResolver","OrgGroupsResolver","routes","path","redirectTo","loginUrl","component","children","resolve","orgStructureOptions","results","subscriptionOptions","user","canActivate","runGuardsAndResolvers","computers","data","dialog","orgs","pathMatch","AppRoutingModule","forRoot","enableTracing","imports","i1","exports","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","filter","tap","pairwise","SessionExpiredComponent","ErrorTypes","i0","ɵɵelement","ɵɵproperty","ctx_r0","loadingMessage","AppComponent","constructor","authService","oauthService","errorService","_matDialog","_router","title","loading","errors$","pipe","appErr","code","HTTP_UNAUTH401","_sessionExpired","bind","subscribe","isAuthenticated$","a","b","events","e","url","startsWith","routerState","snapshot","find","n","open","disableClose","ɵɵdirectiveInject","CommunityAuthService","i2","OAuthService","i3","ErrorService","i4","MatDialog","i5","Router","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelementStart","ɵɵelementEnd","ɵɵtemplate","AppComponent_app_loading_2_Template","ɵɵadvance","BrowserModule","BrandingBarComponent","ErrorSnackComponent","WelcomeComponent","HelpdeskLinkComponent","LoadingComponent","TitleBarComponent","MaterialModule","FlexLayoutModule","HttpClientModule","HTTP_INTERCEPTORS","OAuthModule","OAuthStorage","apiConfiguration","FormsModule","ReactiveFormsModule","BrowserAnimationsModule","ComputerDetailsComponent","RoleGuard","AuthHeaderInterceptor","EditOrgStructureComponent","OrgStructurePipesFactory","EditSubscriptionsComponent","SettingsComponent","UserToolBarComponent","ConfirmComponent","ConfirmChangesComponent","ConfirmSoftwareChangesComponent","MemberOfUtilityService","SoftwareDeployToComputerComponent","SoftwareService","ScrollingModule","SoftwareSummaryComponent","SoftwareDeployToOrgComponent","OrgDetailsComponent","ConfirmSoftwareChangesOrgComponent","SoftwareSummaryOrgComponent","storageFactory","localStorage","AppModule","bootstrap","provide","useFactory","useValue","useClass","multi","resourceServer","allowedUrls","apiBaseUrl","sendAccessToken","declarations","ngOnInit","BrandingBarComponent_Template","MatSort","ComputerFilter","MatLegacyPaginator","MatPaginator","firstValueFrom","map","MatDialogConfig","ɵɵlistener","ComputerChooserComponent_button_6_Template_button_click_0_listener","$event","ɵɵrestoreView","_r39","ctx_r38","ɵɵnextContext","tmp_b_0","filterForm","get","setValue","ɵɵresetView","stopPropagation","ɵɵtext","ɵɵpropertyInterpolate2","o_r40","shortName","description","ɵɵtextInterpolate1","ComputerChooserComponent_button_14_Template_button_click_0_listener","_r42","ctx_r41","o_r43","ComputerChooserComponent_button_21_Template_button_click_0_listener","_r45","ctx_r44","o_r46","ComputerChooserComponent_button_28_Template_button_click_0_listener","_r48","ctx_r47","o_r49","ComputerChooserComponent_button_35_Template_button_click_0_listener","_r51","ctx_r50","ɵɵelementContainerStart","ComputerChooserComponent_mat_header_cell_47_ng_container_1_Template_mat_checkbox_ngModelChange_1_listener","_r56","ctx_r55","allSelected","ComputerChooserComponent_mat_header_cell_47_ng_container_1_Template_mat_checkbox_change_1_listener","ctx_r57","toggleSelectAll","ɵɵelementContainerEnd","ctx_r52","selectAllIndeterminate","ComputerChooserComponent_mat_header_cell_47_ng_container_2_Template_button_click_3_listener","_r59","ctx_r58","showEditManyOrgStructure","selected","ComputerChooserComponent_mat_header_cell_47_ng_container_2_Template_button_click_6_listener","ctx_r60","showEditManySubscriptions","ctx_r53","length","ComputerChooserComponent_mat_header_cell_47_ng_container_1_Template","ComputerChooserComponent_mat_header_cell_47_ng_container_2_Template","ctx_r15","anySelected","ComputerChooserComponent_mat_cell_50_Template_mat_checkbox_ngModelChange_1_listener","restoredCtx","_r63","row_r61","$implicit","ui","ComputerChooserComponent_mat_cell_50_Template_mat_checkbox_change_1_listener","ctx_r64","adjustSelectAll","row_r65","name","row_r66","location","row_r67","_r70","ComputerChooserComponent_mat_cell_62_button_1_Template","ComputerChooserComponent_mat_cell_62_Template_button_click_4_listener","_r72","row_r68","ctx_r71","showMoreInfo","ComputerChooserComponent_mat_cell_62_Template_button_click_20_listener","ctx_r73","ComputerChooserComponent_mat_cell_62_Template_button_click_23_listener","ctx_r74","showEditOrgStructure","ComputerChooserComponent_mat_cell_62_Template_button_click_26_listener","ctx_r75","showEditSubscriptions","ComputerChooserComponent_mat_cell_62_Template_button_click_29_listener","ctx_r76","showDeploySoftwareToComputer","ɵɵpipeBind2","row_r77","created","row_r78","lastupdated","ComputerChooserComponent_mat_footer_cell_70_button_5_Template_button_click_0_listener","_r81","ctx_r80","scrollTop","ComputerChooserComponent_mat_footer_cell_70_button_5_Template","ɵɵpureFunction0","_c1","ctx_r30","isScrolledTop","_fb","_http","_dialog","_route","router","_location","_orgStructurePipesFactory","filtered","document","body","isQuerying","_currentParams","selectAllChecked","group","nameOp","org","dept","unit","bldg","userChanges","_this","_asyncToGenerator","parent","setupFiltering","queryParams","p","abbrev","key","ngAfterViewInit","_this2","paginator","pageSize","setSort","direction","sort","active","sortChange","page","setPage","valueChanges","setFilter","showDialogIfRequested","build","byRelated","toUpperCase","sortByNameDesc","_this3","which","o","value","matcher","RegExp","test","handleFormKeydown","ev","search","_this4","nameLength","split","SortSpecifications","property","selectAll","checked","navigate","queryParamsHandling","showDialog","comp","config","virtualPath","showVirtualPath","_this5","unshift","go","createUrlTree","toString","afterClosed","queryParamsToRemove","root","_this6","panelClass","orgOptions","subOptions","_this7","width","height","options","updates","applyLocalUpdates","i","index","findIndex","c","slice","console","warn","_this8","_this9","join","_this10","_this11","all","some","computer","thisone","push","v","organization","building","department","shouldSearch","_this12","_this13","pageIndex","onScroll","verticalOffset","window","pageYOffset","documentElement","scroll","top","left","behavior","FormBuilder","HttpClient","ActivatedRoute","Location","i6","i7","viewQuery","ComputerChooserComponent_Query","ɵɵresolveWindow","ComputerChooserComponent_Template_div_keydown_3_listener","ComputerChooserComponent_button_6_Template","ComputerChooserComponent_mat_button_toggle_group_7_Template","ComputerChooserComponent_mat_option_12_Template","ComputerChooserComponent_button_14_Template","ComputerChooserComponent_mat_option_19_Template","ComputerChooserComponent_button_21_Template","ComputerChooserComponent_mat_option_26_Template","ComputerChooserComponent_button_28_Template","ComputerChooserComponent_mat_option_33_Template","ComputerChooserComponent_button_35_Template","ComputerChooserComponent_Template_button_click_37_listener","reset","ComputerChooserComponent_Template_button_click_39_listener","ComputerChooserComponent_div_42_Template","ComputerChooserComponent_mat_header_cell_47_Template","ComputerChooserComponent_mat_header_cell_49_Template","ComputerChooserComponent_mat_cell_50_Template","ComputerChooserComponent_mat_header_cell_52_Template","ComputerChooserComponent_mat_cell_53_Template","ComputerChooserComponent_mat_header_cell_55_Template","ComputerChooserComponent_mat_cell_56_Template","ComputerChooserComponent_mat_header_cell_58_Template","ComputerChooserComponent_mat_cell_59_Template","ComputerChooserComponent_mat_header_cell_61_Template","ComputerChooserComponent_mat_cell_62_Template","ComputerChooserComponent_mat_header_cell_64_Template","ComputerChooserComponent_mat_cell_65_Template","ComputerChooserComponent_mat_header_cell_67_Template","ComputerChooserComponent_mat_cell_68_Template","ComputerChooserComponent_mat_footer_cell_70_Template","ComputerChooserComponent_mat_header_cell_72_Template","ComputerChooserComponent_mat_cell_73_Template","ComputerChooserComponent_mat_header_row_74_Template","ComputerChooserComponent_mat_header_row_75_Template","ComputerChooserComponent_mat_row_76_Template","ComputerChooserComponent_ng_container_77_Template","ComputerChooserComponent_mat_footer_row_78_Template","tmp_2_0","tmp_3_0","includes","_r2","ɵɵpipeBind1","tmp_7_0","_r5","tmp_11_0","_r8","tmp_15_0","_r11","tmp_19_0","_c2","_c3","_c4","_c5","MAT_DIALOG_DATA","subscriptionCodeToTitle","ɵɵtextInterpolate","row_r7","fieldName","row_r8","fieldValue","ComputerDetailsComponent_td_13_ng_container_2_Template","ComputerDetailsComponent_td_13_ng_container_3_Template","fieldType","ɵɵtextInterpolate2","ctx_r5","groupByName","group_r14","ctx_r6","group_r15","_data","dialogRef","showGroupFullDn","showOrgSubs","fieldArray","subTags","Object","keys","orgTags","allGroups","reduce","acc","concat","g","log","updateGroups","Field","distinguishedName","groups","memberOf","replace","prefix","isSub","isOrg","byNameAsc","subscriptions","indexOf","cancel","close","MatDialogRef","ComputerDetailsComponent_Template","ComputerDetailsComponent_th_9_Template","ComputerDetailsComponent_td_10_Template","ComputerDetailsComponent_th_12_Template","ComputerDetailsComponent_td_13_Template","ComputerDetailsComponent_tr_14_Template","ComputerDetailsComponent_li_20_Template","ComputerDetailsComponent_li_25_Template","ComputerDetailsComponent_Template_button_click_27_listener","_c0","HttpErrorResponse","actionCodeLookup","ConfirmChangesComponent_section_4_mat_icon_2_Template_mat_icon_click_0_listener","ctx_r7","copyToClipboard","modelUpdateError","ctx_r4","model","ConfirmChangesComponent_section_4_mat_icon_2_Template","ConfirmChangesComponent_section_4_li_5_Template","ConfirmChangesComponent_section_4_li_6_Template","original","ConfirmChangesComponent_section_5_td_6_mat_icon_2_Template_mat_icon_click_0_listener","_r27","row_r23","ctx_r25","lastError","ConfirmChangesComponent_section_5_td_6_mat_icon_2_Template","applied","row_r29","memberDn","row_r30","subscriptionType","ConfirmChangesComponent_section_5_td_18_ng_container_2_Template","row_r32","groupToRemove","ctx_r18","shorten","ConfirmChangesComponent_section_5_td_21_ng_container_2_Template","row_r34","groupToAdd","ctx_r20","ɵɵclassMap","ɵɵpureFunction1","ctx_r22","altRow","row_r36","ConfirmChangesComponent_section_5_th_5_Template","ConfirmChangesComponent_section_5_td_6_Template","ConfirmChangesComponent_section_5_th_8_Template","ConfirmChangesComponent_section_5_td_9_Template","ConfirmChangesComponent_section_5_th_11_Template","ConfirmChangesComponent_section_5_td_12_Template","ConfirmChangesComponent_section_5_th_14_Template","ConfirmChangesComponent_section_5_td_15_Template","ConfirmChangesComponent_section_5_th_17_Template","ConfirmChangesComponent_section_5_td_18_Template","ConfirmChangesComponent_section_5_th_20_Template","ConfirmChangesComponent_section_5_td_21_Template","ConfirmChangesComponent_section_5_tr_22_Template","ConfirmChangesComponent_section_5_tr_23_Template","ctx_r1","deltas","ConfirmChangesComponent_button_12_Template_button_click_0_listener","_r38","ctx_r37","applyChanges","_dialogRef","_snackBar","deltasWithErrors","actions","opIcons","allApplied","someApplied","closeText","Array","from","Set","d","cur","dn","substring","updated","localUpdates","u","result","put","undefined","err","debug","status","message","anonymize","error","Error","stack","Promise","_ref","op","applyRow","_x","apply","arguments","updateSaveState","text","navigator","clipboard","writeText","notApplied","localUpdate","spliceDeltaIntoLocal","ex","JSON","stringify","canRetry","identifiable","action","m","splice","MatLegacySnackBar","ConfirmChangesComponent_Template","ConfirmChangesComponent_section_4_Template","ConfirmChangesComponent_section_5_Template","ConfirmChangesComponent_div_8_Template","ConfirmChangesComponent_Template_button_click_10_listener","ConfirmChangesComponent_button_12_Template","sw_r6","deployType","type","ConfirmSoftwareChangesOrgComponent_section_4_li_6_Template","ConfirmSoftwareChangesOrgComponent_section_4_div_7_Template","ConfirmSoftwareChangesOrgComponent_section_4_div_8_Template","label","groupId","software","ConfirmSoftwareChangesOrgComponent_button_9_Template_button_click_0_listener","_softwareService","isWritingADGroup","syncSoftwareOrg","groupName","softwareName","x","ConfirmSoftwareChangesOrgComponent_Template","ConfirmSoftwareChangesOrgComponent_section_4_Template","ConfirmSoftwareChangesOrgComponent_div_5_Template","ConfirmSoftwareChangesOrgComponent_Template_button_click_7_listener","ConfirmSoftwareChangesOrgComponent_button_9_Template","ConfirmSoftwareChangesComponent_section_4_li_6_Template","ConfirmSoftwareChangesComponent_section_4_div_7_Template","ConfirmSoftwareChangesComponent_section_4_div_8_Template","computerId","ConfirmSoftwareChangesComponent_button_9_Template_button_click_0_listener","syncSoftware","ConfirmSoftwareChangesComponent_Template","ConfirmSoftwareChangesComponent_section_4_Template","ConfirmSoftwareChangesComponent_div_5_Template","ConfirmSoftwareChangesComponent_Template_button_click_7_listener","ConfirmSoftwareChangesComponent_button_9_Template","confirm","ConfirmComponent_Template","ConfirmComponent_Template_button_click_6_listener","ConfirmComponent_Template_button_click_8_listener","OrgStructureDescriptor","EditOrgStructureComponent_section_4_button_3_Template_button_click_0_listener","ctx_r10","generateDescription","EditOrgStructureComponent_section_4_button_3_Template","form","showSetDesc","ctx_r2","computersDescription","o_r12","o_r13","o_r14","o_r15","EditOrgStructureComponent_button_40_Template_button_click_0_listener","_r17","ctx_r16","save","ctx_r8","dirty","_orgStructFilterFactory","_memberOfUtil","computedDesc","updateEnabled","orgDefault","setupDefault","deptDefault","unitDefault","bldgDefault","nonNullable","orgSelect","deptSelect","unitSelect","bldgSelect","valid","DEPT","UNIT","sortBySelectedThenNameDesc","responseType","lastIndexOf","def","getComputerDefaultForKey","isHomogenous","isHom","exec","setSelection","change","dismiss","proposedMemberships","dict","gtype","availableGroups","generateSubscriptionDeltas","markAsDirty","EditOrgStructureComponent_Template","EditOrgStructureComponent_section_4_Template","EditOrgStructureComponent_ng_template_5_Template","ɵɵtemplateRefExtractor","EditOrgStructureComponent_Template_mat_select_blur_11_listener","_r18","_r3","ɵɵreference","EditOrgStructureComponent_Template_mat_select_selectionChange_11_listener","EditOrgStructureComponent_Template_mat_select_closed_11_listener","EditOrgStructureComponent_mat_option_15_Template","EditOrgStructureComponent_Template_mat_select_selectionChange_18_listener","EditOrgStructureComponent_Template_mat_select_closed_18_listener","EditOrgStructureComponent_mat_option_21_Template","EditOrgStructureComponent_Template_mat_select_selectionChange_24_listener","EditOrgStructureComponent_Template_mat_select_closed_24_listener","EditOrgStructureComponent_mat_option_27_Template","EditOrgStructureComponent_Template_mat_select_selectionChange_30_listener","EditOrgStructureComponent_Template_mat_select_closed_30_listener","EditOrgStructureComponent_mat_option_33_Template","EditOrgStructureComponent_Template_button_click_36_listener","EditOrgStructureComponent_Template_button_click_38_listener","EditOrgStructureComponent_button_40_Template","_r1","hasAnyRole","SubscriptionDescriptor","ɵɵpureFunction2","o_r5","isDefault","isRecommended","EditSubscriptionsComponent_mat_form_field_15_mat_option_2_Template","ɵɵpropertyInterpolate","item_r3","EditSubscriptionsComponent_button_22_Template_button_click_0_listener","_r7","fb","codeToTitle","formDef","getCurrentAsDefault","EditSubscriptionsComponent_Template","EditSubscriptionsComponent_span_7_Template","EditSubscriptionsComponent_mat_form_field_15_Template","EditSubscriptionsComponent_Template_button_click_18_listener","EditSubscriptionsComponent_Template_button_click_20_listener","EditSubscriptionsComponent_button_22_Template","MAT_LEGACY_SNACK_BAR_DATA","MAT_SNACK_BAR_DATA","ref","MatLegacySnackBarRef","ErrorSnackComponent_Template","ErrorSnackComponent_Template_mat_icon_click_1_listener","ErrorSnackComponent_p_3_Template","ignoredSubs","ignoredOrgs","orgGroup","OrgDetailsComponent_Template","styles","_authService","staySignedOut","logout","login","returnTo","SessionExpiredComponent_Template","SessionExpiredComponent_Template_button_click_6_listener","SessionExpiredComponent_Template_button_click_8_listener","Subject","debounceTime","distinctUntilChanged","depType_r5","SoftwareDeployToComputerComponent_ng_template_23_button_8_Template_button_click_0_listener","_r10","ctx_r9","changeModel","software_r11","sw_r12","SoftwareDeployToComputerComponent_ng_template_23_Template_input_ngModelChange_6_listener","_r14","ctx_r13","SoftwareDeployToComputerComponent_ng_template_23_Template_input_keyup_6_listener","SoftwareDeployToComputerComponent_ng_template_23_button_8_Template","SoftwareDeployToComputerComponent_ng_template_23_Template_mat_selection_list_ngModelChange_10_listener","swToAdd","SoftwareDeployToComputerComponent_ng_template_23_Template_mat_selection_list_click_10_listener","ctx_r17","onClickSourceList","SoftwareDeployToComputerComponent_ng_template_23_mat_list_option_11_Template","SoftwareDeployToComputerComponent_ng_template_23_Template_button_click_16_listener","onMoveIntoSelectedList","SoftwareDeployToComputerComponent_ng_template_23_Template_button_click_20_listener","ctx_r19","onMoveOutSelectedList","SoftwareDeployToComputerComponent_ng_template_23_Template_mat_selection_list_ngModelChange_26_listener","swToRemove","SoftwareDeployToComputerComponent_ng_template_23_Template_mat_selection_list_click_26_listener","ctx_r21","onClickDestList","SoftwareDeployToComputerComponent_ng_template_23_mat_list_option_27_Template","ctx_r3","softwareSourceDisplay","softwareDest","SoftwareDeployToComputerComponent_div_25_button_6_Template_button_click_0_listener","_r24","ctx_r23","SoftwareDeployToComputerComponent_div_25_Template_button_click_2_listener","_r26","SoftwareDeployToComputerComponent_div_25_Template_button_click_4_listener","ctx_r27","SoftwareDeployToComputerComponent_div_25_button_6_Template","softwareDeployType","softwareDeployTypes","softwareSource","swToAddPrev","swToAddRangeSelection01","swToAddRangeSelection02","swToRemovePrev","swToRemoveRangeSelection01","swToRemoveRangeSelection02","modelChanged","isLoading","simplifyLocation","cn","reverse","onSoftwareDeployTypeChange","loadSoftware","computerName","id","adLocation","fetchDeployType","searchFor","fetchSoftwareForComputer","toLowerCase","summary","event","next","target","deploymentType","moveSelectedSoftwareToSelectedList","moveSelectedSoftwareToAvailableList","clickedItem","parentNode","innerText","shiftKey","multipleRangeSelections","firstRangeSelection","a0","a1","a2","Math","abs","unselectItemsBetween","selectItemsBetween","item1","item2","shift","SoftwareDeployToComputerComponent_Template","SoftwareDeployToComputerComponent_Template_button_click_18_listener","SoftwareDeployToComputerComponent_Template_mat_radio_group_ngModelChange_20_listener","SoftwareDeployToComputerComponent_Template_mat_radio_group_change_20_listener","SoftwareDeployToComputerComponent_mat_radio_button_21_Template","SoftwareDeployToComputerComponent_div_22_Template","SoftwareDeployToComputerComponent_ng_template_23_Template","SoftwareDeployToComputerComponent_div_25_Template","SoftwareDeployToOrgComponent_ng_template_20_button_8_Template_button_click_0_listener","SoftwareDeployToOrgComponent_ng_template_20_Template_input_ngModelChange_6_listener","SoftwareDeployToOrgComponent_ng_template_20_Template_input_keyup_6_listener","SoftwareDeployToOrgComponent_ng_template_20_button_8_Template","SoftwareDeployToOrgComponent_ng_template_20_Template_mat_selection_list_ngModelChange_10_listener","SoftwareDeployToOrgComponent_ng_template_20_mat_list_option_11_Template","SoftwareDeployToOrgComponent_ng_template_20_Template_button_click_16_listener","onSelect","SoftwareDeployToOrgComponent_ng_template_20_Template_button_click_20_listener","onDeselect","SoftwareDeployToOrgComponent_ng_template_20_Template_mat_selection_list_ngModelChange_26_listener","SoftwareDeployToOrgComponent_ng_template_20_mat_list_option_27_Template","SoftwareDeployToOrgComponent_div_22_button_6_Template_button_click_0_listener","_r22","SoftwareDeployToOrgComponent_div_22_Template_button_click_2_listener","SoftwareDeployToOrgComponent_div_22_Template_button_click_4_listener","SoftwareDeployToOrgComponent_div_22_button_6_Template","orgsDescription","orgName","fetchSoftwareForOrg","forEach","item","one","SoftwareDeployToOrgComponent_Template","SoftwareDeployToOrgComponent_Template_button_click_15_listener","SoftwareDeployToOrgComponent_Template_mat_radio_group_ngModelChange_17_listener","SoftwareDeployToOrgComponent_Template_mat_radio_group_change_17_listener","SoftwareDeployToOrgComponent_mat_radio_button_18_Template","SoftwareDeployToOrgComponent_div_19_Template","SoftwareDeployToOrgComponent_ng_template_20_Template","SoftwareDeployToOrgComponent_div_22_Template","SyncedSoftwareSummary","sw_r11","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_3_li_4_Template","syncedSoftware","exclude","sw_r13","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_4_li_4_Template","available","sw_r15","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_5_li_4_Template","mandatory","sw_r17","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_6_li_4_Template","asap","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_3_Template","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_4_Template","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_5_Template","SoftwareSummaryOrgComponent_ng_template_5_section_0_div_6_Template","SoftwareSummaryOrgComponent_ng_template_5_section_0_Template","SoftwareSummaryOrgComponent_ng_template_5_ng_template_1_Template","_r4","sw","fetchAllSyncedSoftwareOrg","flatSW","self","t","deploymentSource","localeCompare","endsWith","SoftwareSummaryOrgComponent_Template","SoftwareSummaryOrgComponent_div_4_Template","SoftwareSummaryOrgComponent_ng_template_5_Template","SoftwareSummaryOrgComponent_Template_button_click_8_listener","element_r14","element_r15","element_r16","SoftwareSummaryComponent_ng_template_5_section_0_mat_header_cell_5_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_cell_6_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_header_cell_8_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_cell_9_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_header_cell_11_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_cell_12_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_header_row_13_Template","SoftwareSummaryComponent_ng_template_5_section_0_mat_row_14_Template","displayedColumns","SoftwareSummaryComponent_ng_template_5_section_0_Template","SoftwareSummaryComponent_ng_template_5_ng_template_1_Template","fetchAllSyncedSoftware","SoftwareSummaryComponent_Template","SoftwareSummaryComponent_div_4_Template","SoftwareSummaryComponent_ng_template_5_Template","SoftwareSummaryComponent_Template_button_click_8_listener","route","setMessage","state","MiscErrorComponent_Template","MiscErrorComponent_div_7_Template","finalUrl","PageNotFoundComponent_Template","PageNotFoundComponent_div_10_Template","MAT_LEGACY_DIALOG_DATA","HelpComponent_Template","HelpComponent_span_3_Template","htmlDescription","ɵɵsanitizeHtml","year","Date","getFullYear","LoggedOutComponent_Template","OrgGroupFilter","o_r25","OrgGroupChooserComponent_button_10_Template_button_click_0_listener","ctx_r26","o_r28","OrgGroupChooserComponent_button_17_Template_button_click_0_listener","_r30","ctx_r29","o_r31","OrgGroupChooserComponent_button_24_Template_button_click_0_listener","_r33","ctx_r32","ɵɵelementContainer","ctx_r35","OrgGroupChooserComponent_th_39_ng_container_1_Template","OrgGroupChooserComponent_th_39_ng_container_2_Template","orgGroups","row_r37","row_r38","_r41","OrgGroupChooserComponent_td_49_button_1_Template","OrgGroupChooserComponent_td_49_Template_button_click_4_listener","_r43","row_r39","ctx_r42","OrgGroupChooserComponent_td_49_Template_button_click_12_listener","showDeploySoftwareToOrg","OrgGroupChooserComponent_Query","OrgGroupChooserComponent_Template_div_keydown_3_listener","OrgGroupChooserComponent_Template_input_click_5_listener","OrgGroupChooserComponent_mat_option_8_Template","OrgGroupChooserComponent_button_10_Template","OrgGroupChooserComponent_mat_option_15_Template","OrgGroupChooserComponent_button_17_Template","OrgGroupChooserComponent_mat_option_22_Template","OrgGroupChooserComponent_button_24_Template","OrgGroupChooserComponent_Template_button_click_26_listener","OrgGroupChooserComponent_Template_button_click_28_listener","OrgGroupChooserComponent_div_31_Template","OrgGroupChooserComponent_th_39_Template","OrgGroupChooserComponent_td_40_Template","OrgGroupChooserComponent_th_42_Template","OrgGroupChooserComponent_td_43_Template","OrgGroupChooserComponent_th_45_Template","OrgGroupChooserComponent_td_46_Template","OrgGroupChooserComponent_th_48_Template","OrgGroupChooserComponent_td_49_Template","OrgGroupChooserComponent_td_51_Template","OrgGroupChooserComponent_th_53_Template","OrgGroupChooserComponent_td_54_Template","OrgGroupChooserComponent_tr_55_Template","OrgGroupChooserComponent_tr_56_Template","OrgGroupChooserComponent_tr_57_Template","OrgGroupChooserComponent_tr_58_Template","_r0","tmp_4_0","tmp_8_0","_r6","tmp_12_0","forkJoin","merge","Observable","startWith","switchMap","User","UserFilterModel","UserFilterType","row_r14","hawkId","SettingsComponent_td_21_Template_mat_checkbox_change_1_listener","row_r15","toggleAdmin","isAdmin","SettingsComponent_td_24_Template_button_click_1_listener","_r20","row_r18","removeUser","SettingsComponent_td_32_Template_button_click_1_listener","addHawkId","registeredUsers","keywords","isNewAdmin","_saveChanges","subscriber","_saveChangesEmitter","Keywords","_","serialize","users","userRoles","ur","role","roleName","count","sortSpecifications","Property","Direction","row","duration","newUser","post","confirmed","delete","SettingsComponent_Query","SettingsComponent_th_17_Template","SettingsComponent_td_18_Template","SettingsComponent_th_20_Template","SettingsComponent_td_21_Template","SettingsComponent_th_23_Template","SettingsComponent_td_24_Template","SettingsComponent_td_26_Template","SettingsComponent_td_28_Template","SettingsComponent_td_30_Template","SettingsComponent_td_32_Template","SettingsComponent_tr_33_Template","SettingsComponent_tr_34_Template","SettingsComponent_tr_35_Template","SettingsComponent_tr_36_Template","SettingsComponent_Template_a_click_46_listener","back","inputs","UserToolBarComponent_Template","UserToolBarComponent_Template_button_click_11_listener","WelcomeComponent_Template","href","ɵɵsanitizeUrl","HelpdeskLinkComponent_Template","HelpdeskLinkComponent_a_0_Template","interval","environment","timeoutMessage","_ngZone","timeout","timeoutHelpDelay","showTimeoutMessage","runOutsideAngular","ngAfterContentInit","NgZone","LoadingComponent_Template","LoadingComponent_p_7_Template","delay","isActive","TitleBarComponent_nav_2_a_13_Template","TitleBarComponent_div_3_ng_template_4_Template_button_click_1_listener","_r13","ctx_r12","endImpersonation","TitleBarComponent_div_3_span_3_Template","TitleBarComponent_div_3_ng_template_4_Template","TitleBarComponent_div_3_Template_button_click_6_listener","_r15","ctx_r14","TitleBarComponent_div_3_a_25_Template","TitleBarComponent_div_3_Template_a_click_27_listener","isImpersonated","authenticated","isImpersonating","accountName","isAuthenticated","authChange","reload","applicationUsername","refresh","TitleBarComponent_Template","TitleBarComponent_nav_2_Template","TitleBarComponent_div_3_Template","configure","runInitialLoginSequence","isDoneLoading$","isDone","isAuth","ɵɵinject","factory","ɵfac","ActiveUser","http","userEndpoint","AppError","_errorService","intercept","req","headers","set","impersonatedHawkId","cloned","clone","handle","_success","_failure","notify","raw","roles","r","iCalAccessKey","iCalEnabled","displayName","activeMailbox","calendarID","details","FilterOp","filterBy","_serialize","obj","completed","nest","hasOwnProperty","newpath","isNaN","EventEmitter","Computer","whenCreated","whenChanged","Proxy","changes","prop","receiver","emit","asApiModel","picked","OrgGroup","OrgStructure","_raw","ORG","BLDG","Software","AdSoftware","softwareAll","softwareSynced","SoftwareDeployType","SubscriptionDelta","SubscriptionDictionary","request","params","q","cdp","notfound","msg","skipLocationChange","replaceState","catchError","of","hasValues","statusText","toPromise","requestPage","showButStay","loc","OAuthErrorEvent","BehaviorSubject","combineLatest","ReplaySubject","isDoneLoadingSubject$","asObservable","isImpersonatedSubject$","impersonationKey","addEventListener","isAuthenticatedSubject$","hasValidAccessToken","navigateToLoginPage","loadUserProfile","setupAutomaticSilentRefresh","canActivateProtectedRoutes$","values","every","accessToken","getAccessToken","refreshToken","getRefreshToken","identityClaims","getIdentityClaims","idToken","getIdToken","logoutUrl","navigateByUrl","hash","table","substr","kvp","loadDiscoveryDocument","then","tryLogin","reject","stateUrl","decodeURIComponent","catch","targetUrl","noState","initLoginFlow","initCodeFlow","revokeTokenAndLogout","logOut","silentRefresh","hasValidToken","sessionStorage","actualUsername","removeItem","impersonate","providedIn","_errors","generateGroupDeltasForComputer","shortToLong","short","getExistingAndProposedMembership","existing","proposed","groupType","proposedShort","generateDelta","proposedChange","throwError","opts","vc","conv","filterOrgStruct","curValue","_deployTypeUrl","fetchSoftwareForGroup","fetch","res","json","source","sourceDisplay","dest","j","destDisplay","CommonModule","CdkTableModule","MatLegacyAutocompleteModule","MatAutocompleteModule","MatButtonToggleModule","MatLegacyCardModule","MatCardModule","MatLegacyCheckboxModule","MatCheckboxModule","MatDialogModule","MatIconModule","MatLegacyInputModule","MatInputModule","MatLegacyListModule","MatListModule","MatLegacyMenuModule","MatMenuModule","MatLegacyPaginatorModule","MatPaginatorModule","MatLegacyProgressSpinnerModule","MatProgressSpinnerModule","MatLegacyRadioModule","MatRadioModule","MatLegacySelectModule","MatSelectModule","MatDividerModule","MatLegacyButtonModule","MatButtonModule","MatLegacySnackBarModule","MatSnackBarModule","MatSortModule","MatLegacyTableModule","MatTableModule","MatToolbarModule","MatTooltipModule","production","useExternalHome","home","userSearchEndpoint","clientId","scope","redirectUri","clearHashAfterLogin","issuer","tokenEndpoint","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}