{"version":3,"file":"main.js","mappings":"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","sources":["./app/customer-portal/app.component.ts","./app/customer-portal/app.component.html","./app/customer-portal/app.module.ts","./app/customer-portal/app.routing.ts","./app/customer-portal/core/account.guard.ts","./app/customer-portal/core/action.model.ts","./app/customer-portal/core/app-config.service.ts","./app/customer-portal/core/auth.guard.ts","./app/customer-portal/core/can-activate-portal.ts","./app/customer-portal/core/configuration.service.ts","./app/customer-portal/core/context-menu/context-menu.component.ts","./app/customer-portal/core/context-menu/context-menu.component.html","./app/customer-portal/core/context-menu/context-menu.service.ts","./app/customer-portal/core/controls/autofocus.directive.ts","./app/customer-portal/core/controls/button/button.component.ts","./app/customer-portal/core/controls/button/button.component.html","./app/customer-portal/core/controls/checkbox/checkbox.component.ts","./app/customer-portal/core/controls/checkbox/checkbox.component.html","./app/customer-portal/core/controls/controls.module.ts","./app/customer-portal/core/controls/date-picker/date-picker.component.ts","./app/customer-portal/core/controls/date-picker/date-picker.component.html","./app/customer-portal/core/controls/date-picker/flatpickr-plugins/confirm-date.ts","./app/customer-portal/core/controls/file-upload/file-progress.component.ts","./app/customer-portal/core/controls/file-upload/file-progress.component.html","./app/customer-portal/core/controls/file-upload/file-upload.component.ts","./app/customer-portal/core/controls/file-upload/file-upload.component.html","./app/customer-portal/core/controls/file-upload/file-upload.directive.ts","./app/customer-portal/core/controls/file-upload/file-upload.model.ts","./app/customer-portal/core/controls/file-upload/file-upload.service.ts","./app/customer-portal/core/controls/focus-index.directive.ts","./app/customer-portal/core/controls/icon.component.ts","./app/customer-portal/core/controls/input/input.component.ts","./app/customer-portal/core/controls/input/input.component.html","./app/customer-portal/core/controls/language-selector/language-selector.component.ts","./app/customer-portal/core/controls/language-selector/language-selector.component.html","./app/customer-portal/core/controls/link/link.component.ts","./app/customer-portal/core/controls/link/link.component.html","./app/customer-portal/core/controls/paginator/paginator.component.ts","./app/customer-portal/core/controls/paginator/paginator.component.html","./app/customer-portal/core/controls/password-strength/password-strength.component.ts","./app/customer-portal/core/controls/password-strength/password-strength.component.html","./app/customer-portal/core/controls/select/select.component.ts","./app/customer-portal/core/controls/select/select.component.html","./app/customer-portal/core/controls/validation-error/validation-error.component.ts","./app/customer-portal/core/controls/validation-error/validation-error.component.html","./app/customer-portal/core/controls/validators/passwordValidator.ts","./app/customer-portal/core/core.module.ts","./app/customer-portal/core/dialog/dialog.component.ts","./app/customer-portal/core/dialog/dialog.component.html","./app/customer-portal/core/dialog/dialog.service.ts","./app/customer-portal/core/email.service.ts","./app/customer-portal/core/feedback-bar/feedback-bar.component.ts","./app/customer-portal/core/feedback-bar/feedback-bar.component.html","./app/customer-portal/core/feedback-bar/feedback-bar.service.ts","./app/customer-portal/core/footer/footer.component.ts","./app/customer-portal/core/footer/footer.component.html","./app/customer-portal/core/http.service.ts","./app/customer-portal/core/identity-provider-info.model.ts","./app/customer-portal/core/idle-preload.ts","./app/customer-portal/core/job.service.ts","./app/customer-portal/core/loader/loader.component.ts","./app/customer-portal/core/loader/loader.component.html","./app/customer-portal/core/loading-bar/loading-bar.component.ts","./app/customer-portal/core/loading-bar/loading-bar.component.html","./app/customer-portal/core/loading-bar/loading-bar.service.ts","./app/customer-portal/core/locale/locale.guard.ts","./app/customer-portal/core/locale/locale.model.ts","./app/customer-portal/core/locale/locale.service.ts","./app/customer-portal/core/locale/localized-model.service.ts","./app/customer-portal/core/locale/localized-model.ts","./app/customer-portal/core/login-config.model.ts","./app/customer-portal/core/login-option.model.ts","./app/customer-portal/core/manager.guard.ts","./app/customer-portal/core/nav/client-route.ts","./app/customer-portal/core/nav/nav.component.ts","./app/customer-portal/core/nav/nav.component.html","./app/customer-portal/core/page/page.component.ts","./app/customer-portal/core/page/page.component.html","./app/customer-portal/core/panel/panel.component.ts","./app/customer-portal/core/panel/panel.component.html","./app/customer-portal/core/progress/progress.component.ts","./app/customer-portal/core/progress/progress.component.html","./app/customer-portal/core/server-version.model.ts","./app/customer-portal/core/table/body/index.ts","./app/customer-portal/core/table/body/table-body-row.component.ts","./app/customer-portal/core/table/body/table-body.component.ts","./app/customer-portal/core/table/body/table-body.component.html","./app/customer-portal/core/table/column.component.ts","./app/customer-portal/core/table/header/table-header.component.ts","./app/customer-portal/core/table/header/table-header.component.html","./app/customer-portal/core/table/table.component.ts","./app/customer-portal/core/table/table.component.html","./app/customer-portal/core/tooltip/tooltip.component.ts","./app/customer-portal/core/tooltip/tooltip.component.html","./app/customer-portal/core/tooltip/tooltip.directive.ts","./app/customer-portal/core/user/user.model.ts","./app/customer-portal/core/user/user.service.ts","./app/customer-portal/core/util/array.ts","./app/customer-portal/core/util/compare.ts","./app/customer-portal/core/util/index.ts","./app/customer-portal/core/util/rxjs.ts","./app/customer-portal/core/util/time.ts","./app/customer-portal/login/login.component.ts","./app/customer-portal/login/login.component.html","./app/customer-portal/login/login.module.ts","./app/customer-portal/login/login.routing.ts","./app/environments/environment.ts","./app/main.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { LocaleGuard } from './core/locale/locale.guard';\r\nimport { LocaleService } from './core/locale/locale.service';\r\nimport { UserService } from './core/user/user.service';\r\n\r\n@Component({\r\n selector: 'cp-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.less']\r\n})\r\nexport class AppComponent {\r\n constructor(\r\n translate: TranslateService,\r\n userService: UserService,\r\n localeService: LocaleService,\r\n localeGuard: LocaleGuard\r\n ) {\r\n translate.setDefaultLang('en');\r\n\r\n localeService\r\n .setLocale$(localeService.getLocaleOrDefault())\r\n .subscribe(() => localeGuard.languageLoaded.next({}));\r\n\r\n userService\r\n .getCurrentUser()\r\n .subscribe(profile => userService.setFromProfile(profile), () => userService.setAnonymous());\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { HttpClient, provideHttpClient, withInterceptorsFromDi, withXsrfConfiguration } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { CookieModule } from 'ngx-cookie';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { CoreModule, xsrfCookieName, xsrfHeaderName } from './core/core.module';\r\n\r\nimport { AppRoutingModule } from './app.routing';\r\nimport { LoginModule } from './login/login.module';\r\n\r\nconst appConfig = {\r\n apiEndpoint: 'api',\r\n pollingInterval: 30 * 1000\r\n};\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, `${appConfig.apiEndpoint}/localization/`, '');\r\n}\r\n\r\n@NgModule({ declarations: [AppComponent],\r\n bootstrap: [AppComponent], imports: [BrowserModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n CookieModule.forRoot(),\r\n CoreModule.forRoot(appConfig),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n LoginModule], providers: [provideHttpClient(withInterceptorsFromDi(), withXsrfConfiguration({ cookieName: xsrfCookieName, headerName: xsrfHeaderName }))] })\r\nexport class AppModule {}\r\n","import { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccountGuard } from './core/account.guard';\r\nimport { AuthGuard } from './core/auth.guard';\r\nimport { IdlePreload } from './core/idle-preload';\r\nimport { LocaleGuard } from './core/locale/locale.guard';\r\nimport { canActivatePortal } from './core/can-activate-portal';\r\n\r\nconst routes: Routes = [\r\n /* {\r\n path: '',\r\n canActivate: [AccountGuard, LocaleGuard],\r\n pathMatch: 'full',\r\n redirectTo: 'login'\r\n} */\r\n { path: \"\", redirectTo: \"login\", pathMatch: 'full' },\r\n { path: \"login\", component: AccountGuard, canActivate: [AccountGuard, LocaleGuard, canActivatePortal] }\r\n , {\r\n path: 'account',\r\n loadChildren: () => import('./account/account.module').then(m => m.AccountModule),\r\n canActivate: [LocaleGuard, canActivatePortal]\r\n }, {\r\n path: 'translation-jobs',\r\n loadChildren: () => import('./translation-jobs/translation-jobs.module').then(m => m.TranslationJobsModule),\r\n canActivate: [AuthGuard, LocaleGuard, canActivatePortal]\r\n }, {\r\n path: 'people',\r\n loadChildren: () => import('./people/people.module').then(m => m.PeopleModule),\r\n canActivate: [AuthGuard, LocaleGuard, canActivatePortal]\r\n }, {\r\n path: 'no-access',\r\n loadChildren: () => import('./no-access/no-access.module').then(m => m.NoAccessModule),\r\n canActivate: [LocaleGuard]\r\n }];\r\n\r\nexport const AppRoutingModule = RouterModule.forRoot(routes, { preloadingStrategy: IdlePreload });\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport './util/rxjs';\r\n\r\nimport { UserService } from './user/user.service';\r\n\r\n@Injectable()\r\nexport class AccountGuard {\r\n constructor(private router: Router, private userService: UserService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.userService.user$.map(user => {\r\n if (user.isAuthenticated) {\r\n this.router.navigate(['translation-jobs', 'dashboard']);\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n}\r\n","type StringValue = string | ((item: T) => string);\r\n\r\ninterface ActionBase {\r\n type: 'executed' | 'link';\r\n name: StringValue;\r\n icon: StringValue;\r\n isVisible: (item: T) => boolean;\r\n}\r\n\r\nexport interface ExecutedAction extends ActionBase {\r\n type: 'executed',\r\n execute: (item: T, selection?: T[]) => void;\r\n}\r\n\r\nexport interface LinkAction extends ActionBase {\r\n type: 'link',\r\n generateLink: (item: T) => string;\r\n}\r\n\r\nexport interface Spacer {\r\n type: 'spacer';\r\n}\r\n\r\nexport type Action = ExecutedAction | LinkAction;\r\nexport type ContextAction = Action | Spacer;\r\n\r\nexport const makeAction = (name: StringValue, icon: StringValue, execute: (item: T, selection?: T[]) => void,\r\n isVisible = (_: T) => true): Action => {\r\n return {\r\n type: 'executed', name, icon, execute, isVisible};\r\n}\r\n\r\nexport const makeLink = (name: StringValue, icon: StringValue, generateLink: (item: T) => string,\r\n isVisible = (_: T) => true): Action => {\r\n return { type: 'link', name, icon, generateLink, isVisible };\r\n}\r\n\r\nexport const makeSpacer = (): ContextAction => ({ type: 'spacer' });\r\n\r\nexport const isActionVisibiltyCompatible = (action: Action, current: T, all: Map) => {\r\n if (!action.isVisible(current)) {\r\n return false;\r\n }\r\n\r\n for (const [, value] of all) {\r\n if (!action.isVisible(value)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const isAction = (action: ContextAction): action is Action => {\r\n return action.type !== 'spacer';\r\n}\r\n\r\nexport const filterRegularActions = (actions: Array> | undefined): Array> | undefined => {\r\n return actions && actions.filter(action => action.type !== 'spacer') as Array>;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppConfigService {\r\n apiEndpoint: string;\r\n pollingInterval: number;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport './util/rxjs';\r\n\r\nimport { UserService } from './user/user.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n constructor(private router: Router, private userService: UserService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // When this guard runs the profile of the current user might not be downloaded yet from the server.\r\n // This is why an Observable is needed.\r\n return this.userService.user$.map(user => {\r\n if (user.isAuthenticated) {\r\n return true;\r\n }\r\n\r\n // navigate to the login page, preserve the url to be able to redirect there after a successful login\r\n this.router.navigate(['login'], { queryParams: { url: encodeURIComponent(state.url) } });\r\n return false;\r\n });\r\n }\r\n}\r\n\r\n","import { inject, } from '@angular/core';\r\nimport { CanActivateFn, Router, } from '@angular/router';\r\nimport './util/rxjs';\r\nimport { ConfigurationService } from './configuration.service';\r\n\r\nexport const canActivatePortal: CanActivateFn = () => {\r\n const router = inject(Router);\r\n return inject(ConfigurationService).getLoginConfig().map(config => {\r\n if (!config.portalEnabled) {\r\n router.navigate(['/no-access']);\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { ReplaySubject } from './util/rxjs';\r\nimport './util/rxjs';\r\n\r\nimport { HttpService } from './http.service';\r\nimport { ServerVersion } from './server-version.model';\r\nimport { LoginConfig } from './login-config.model';\r\nimport { map, tap } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class ConfigurationService {\r\n private versionStream = new ReplaySubject(1);\r\n private hasVersion = false;\r\n\r\n private loginStream = new ReplaySubject(1);\r\n private hasLoginConfig = false;\r\n private http = inject(HttpService);\r\n\r\n constructor() { }\r\n\r\n getVersion(force = false) {\r\n if (!this.hasVersion || force) {\r\n const options = { disableProgress: true };\r\n this.http.get('config/version', options)\r\n .map(version => new ServerVersion(version))\r\n .do(() => this.hasVersion = true)\r\n .subscribe(version => this.versionStream.next(version));\r\n }\r\n return this.versionStream.asObservable();\r\n }\r\n\r\n getLoginConfig(force: boolean = true) {\r\n if (!this.hasLoginConfig || force) {\r\n const options = { disableProgress: true };\r\n this.http.get('config/login', options).pipe(\r\n map(version => new LoginConfig(version)),\r\n tap(() => this.hasLoginConfig = true))\r\n .subscribe(loginInfo => this.loginStream.next(loginInfo));\r\n }\r\n return this.loginStream.asObservable();\r\n }\r\n}\r\n\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, OnInit } from '@angular/core';\r\n\r\nimport { Action, ContextAction, LinkAction, Spacer, isAction } from '../action.model';\r\nimport { ContextEvent, ContextMenuService } from './context-menu.service';\r\n\r\n@Component({\r\n selector: 'cp-context-menu',\r\n templateUrl: './context-menu.component.html',\r\n styleUrls: ['./context-menu.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ContextMenuComponent implements OnInit {\r\n event: ContextEvent | undefined;\r\n private isOpening: boolean;\r\n\r\n constructor(private service: ContextMenuService, private changeDetector: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.service.contextEvents$.subscribe(event => {\r\n this.addHighlight(event);\r\n\r\n this.event = event;\r\n this.isOpening = true;\r\n this.changeDetector.markForCheck();\r\n setTimeout(() => this.isOpening = false, 400);\r\n });\r\n }\r\n\r\n @HostListener('document:click')\r\n clickedOutside(): void {\r\n if (!this.isOpening) {\r\n this.close();\r\n }\r\n }\r\n\r\n get locationStyle() {\r\n if (!this.event) {\r\n return {};\r\n }\r\n\r\n return {\r\n position: 'absolute',\r\n left: this.event.$event.pageX + 'px',\r\n top: this.event.$event.pageY + 'px'\r\n };\r\n }\r\n\r\n getName(action: Action, value: T) {\r\n return typeof action.name === 'function' ? action.name(value) : action.name;\r\n }\r\n\r\n getIcon(action: Action, value: T) {\r\n return typeof action.icon === 'function' ? action.icon(value) : action.icon;\r\n }\r\n\r\n isSpacer(action: ContextAction): action is Spacer {\r\n return !isAction(action);\r\n }\r\n\r\n isLink(action: ContextAction): action is LinkAction {\r\n return action.type === 'link';\r\n }\r\n\r\n isVisible(action: ContextAction, value: T) {\r\n if (isAction(action)) {\r\n return action.isVisible(value);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n execute(action: ContextAction, value: T) {\r\n if (action.type !== 'executed') {\r\n return;\r\n }\r\n\r\n if (isAction(action)) {\r\n action.execute(value);\r\n this.close();\r\n }\r\n }\r\n\r\n close(): void {\r\n this.removeHighlight();\r\n this.event = undefined;\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n private removeHighlight() {\r\n if (this.event) {\r\n this.event.host.classList.remove('mod-context');\r\n }\r\n }\r\n\r\n private addHighlight(event: ContextEvent) {\r\n this.removeHighlight();\r\n event.host.classList.add('mod-context');\r\n }\r\n}\r\n","\r\n \r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from '../util/rxjs';\r\n\r\nimport { ContextAction } from '../action.model';\r\n\r\nexport interface ContextEvent {\r\n $event: MouseEvent;\r\n host: HTMLElement;\r\n value: any;\r\n actions: Array>;\r\n}\r\n\r\n@Injectable()\r\nexport class ContextMenuService {\r\n contextEvents$: Observable;\r\n\r\n private contextEventStream = new Subject();\r\n\r\n constructor() {\r\n this.contextEvents$ = this.contextEventStream.asObservable();\r\n }\r\n\r\n show($event: MouseEvent, host: HTMLElement, actions: Array>, value: T) {\r\n this.contextEventStream.next({ $event, value, host, actions });\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n}\r\n\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cpAutofocus]'\r\n})\r\nexport class AutofocusDirective implements OnInit {\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ButtonComponent {\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n icon: string;\r\n\r\n @Input()\r\n colorClass = 'branding-accent-normal-foreground';\r\n\r\n @Input()\r\n secondary = false;\r\n\r\n @Input()\r\n large = false;\r\n\r\n @Input()\r\n type: 'button' | 'submit' = 'button';\r\n\r\n get buttonClass() {\r\n return this.icon ? 'button-icon' : 'button';\r\n }\r\n}\r\n","\r\n\r\n\r\n {{label | translate}}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cp-checkbox',\r\n templateUrl: './checkbox.component.html',\r\n styleUrls: ['./checkbox.component.less']\r\n})\r\nexport class CheckboxComponent implements OnInit {\r\n @Input()\r\n inputId: string;\r\n\r\n @Input()\r\n cpFormControl?: UntypedFormControl;\r\n\r\n @Input()\r\n showErrors = true;\r\n\r\n @Input()\r\n label?: string;\r\n\r\n @Input()\r\n required?: boolean;\r\n\r\n @Input()\r\n handleClick = false;\r\n\r\n @Input()\r\n validate = true;\r\n\r\n @Input()\r\n get cpModel() {\r\n return this.cpModelValue;\r\n }\r\n\r\n @Output()\r\n cpModelChange = new EventEmitter();\r\n\r\n @Output()\r\n checkboxClick = new EventEmitter();\r\n\r\n set cpModel(value: boolean | undefined) {\r\n this.cpModelValue = !!value;\r\n this.cpModelChange.emit(value);\r\n }\r\n\r\n private cpModelValue = false;\r\n\r\n ngOnInit() {\r\n this.inputId = this.inputId || '';\r\n this.cpFormControl = this.cpFormControl || new UntypedFormControl();\r\n }\r\n\r\n onClick($event: Event) {\r\n if (this.handleClick) {\r\n this.checkboxClick.emit($event);\r\n } else {\r\n this.cpModel = !this.cpModel;\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { AutofocusDirective } from './autofocus.directive';\r\nimport { ButtonComponent } from './button/button.component';\r\nimport { CheckboxComponent } from './checkbox/checkbox.component';\r\nimport { DatePickerComponent } from './date-picker/date-picker.component';\r\nimport { FileProgressComponent } from './file-upload/file-progress.component';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { FileUploadDirective } from './file-upload/file-upload.directive';\r\nimport { FocusIndexDirective } from './focus-index.directive';\r\nimport { IconComponent } from './icon.component';\r\nimport { InputComponent } from './input/input.component';\r\nimport { LanguageSelectorComponent } from './language-selector/language-selector.component';\r\nimport { LinkComponent } from './link/link.component';\r\nimport { PaginatorComponent } from './paginator/paginator.component';\r\nimport { PasswordStrengthComponent } from './password-strength/password-strength.component';\r\nimport { SelectComponent } from './select/select.component';\r\nimport { ValidationErrorComponent } from './validation-error/validation-error.component';\r\n\r\nconst exportedComponents = [\r\n AutofocusDirective,\r\n FocusIndexDirective,\r\n ButtonComponent,\r\n DatePickerComponent,\r\n FileUploadComponent,\r\n FileProgressComponent,\r\n IconComponent,\r\n InputComponent,\r\n LinkComponent,\r\n CheckboxComponent,\r\n PaginatorComponent,\r\n PasswordStrengthComponent,\r\n SelectComponent,\r\n LanguageSelectorComponent,\r\n ValidationErrorComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n TranslateModule\r\n ],\r\n declarations: [\r\n ...exportedComponents,\r\n FileUploadDirective,\r\n ],\r\n exports: [...exportedComponents]\r\n})\r\nexport class ControlsModule { }\r\n","import Flatpickr from 'flatpickr';\r\nimport { ConfirmDatePlugin } from './flatpickr-plugins/confirm-date';\r\n\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\nimport { LocaleService } from '../../locale/locale.service';\r\nimport { Subscription } from '../../util/rxjs';\r\n\r\n@Component({\r\n selector: 'cp-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.less']\r\n})\r\nexport class DatePickerComponent implements AfterViewInit, OnInit, OnDestroy {\r\n @Input() cpFormControl: UntypedFormControl;\r\n\r\n @Input() showErrors = true;\r\n\r\n @Input() validate = true;\r\n\r\n @Input() static = false;\r\n\r\n @Input() startFromToday = false;\r\n\r\n @ViewChild('flatpickrElement') flatpickrElement: ElementRef;\r\n\r\n @ViewChild('dateInput') dateInput: ElementRef;\r\n\r\n @Input()\r\n get cpModel() {\r\n return this.cpModelValue;\r\n }\r\n\r\n @Output() cpModelChange = new EventEmitter();\r\n\r\n placeholder: string;\r\n\r\n set cpModel(value: moment.Moment | undefined) {\r\n this.cpModelValue = value;\r\n this.setFlatpickrValue(value);\r\n this.cpModelChange.emit(value);\r\n }\r\n\r\n get formattedValue() {\r\n return this.cpModel && this.localeService.formatMoment(this.cpModel, 'L LT');\r\n }\r\n\r\n private localeSubscription: Subscription;\r\n private cpModelValue: moment.Moment | undefined;\r\n private flatpickr: Flatpickr.Instance;\r\n\r\n constructor(private localeService: LocaleService, private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit() {\r\n this.cpFormControl = this.cpFormControl || new UntypedFormControl();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.localeSubscription = this.localeService.locale$.subscribe(locale => {\r\n this.createFlatpickr(locale);\r\n this.refreshModel();\r\n this.setLabel();\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.localeSubscription) {\r\n this.localeSubscription.unsubscribe();\r\n }\r\n if (this.flatpickr) {\r\n this.flatpickr.destroy();\r\n }\r\n }\r\n\r\n open() {\r\n this.flatpickr.open();\r\n }\r\n\r\n parseDate() {\r\n if (!this.cpFormControl.value) {\r\n this.cpModel = undefined;\r\n } else {\r\n this.cpModel = moment(this.cpFormControl.value, 'L LT');\r\n if (!this.cpModel.isValid()) {\r\n this.cpModel = moment(new Date(this.cpFormControl.value));\r\n }\r\n }\r\n this.cd.detectChanges();\r\n }\r\n\r\n private createFlatpickr(localeName: string) {\r\n if (this.flatpickr) {\r\n this.flatpickr.destroy();\r\n }\r\n\r\n const locale = this.localeService.flatpickrLocale;\r\n const options = {\r\n locale,\r\n time_24hr: locale.is24Hour,\r\n enableTime: true,\r\n allowInput: true,\r\n static: this.static,\r\n onChange: (date: Date[]) => this.setInputValue(date),\r\n plugins: [ConfirmDatePlugin({ confirmText: '' })]\r\n } as any;\r\n const startDate = this.startFromToday\r\n ? {\r\n minDate: new Date(\r\n moment()\r\n .toDate()\r\n .toDateString()\r\n )\r\n }\r\n : {};\r\n\r\n this.flatpickr = Flatpickr(this.flatpickrElement.nativeElement, {\r\n ...startDate,\r\n ...options\r\n }) as Flatpickr.Instance;\r\n this.setFlatpickrValue(this.cpModelValue);\r\n }\r\n\r\n private refreshModel() {\r\n this.cpModel = this.cpModel && moment(this.cpModel);\r\n this.cd.detectChanges();\r\n }\r\n\r\n private setInputValue(date: Date[]) {\r\n if (date.length !== 0) {\r\n this.cpModel = moment(date[0]);\r\n this.cd.detectChanges();\r\n }\r\n }\r\n\r\n private setFlatpickrValue(value: moment.Moment | undefined) {\r\n if (!this.flatpickr) {\r\n return;\r\n }\r\n\r\n if (!value) {\r\n this.flatpickr.clear();\r\n } else {\r\n this.flatpickr.setDate(value.toDate());\r\n }\r\n this.cd.detectChanges();\r\n }\r\n\r\n private setLabel() {\r\n this.placeholder = `${moment\r\n .localeData()\r\n .longDateFormat('L')} ${moment.localeData().longDateFormat('LT')}`;\r\n this.cd.detectChanges();\r\n }\r\n}\r\n","
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n","export interface ConfirmDateConfig {\r\n confirmIcon: string;\r\n confirmText: string;\r\n}\r\n\r\nexport const ConfirmDatePlugin = (pluginConfig: Partial) => {\r\n const defaultConfig = {\r\n confirmIcon: `\r\n \r\n \r\n \r\n \r\n `,\r\n confirmText: 'OK '\r\n };\r\n\r\n const config = { ...defaultConfig, ...pluginConfig };\r\n\r\n return (fp: any) => {\r\n const hooks = {\r\n onKeyDown (_: any, __: any, ___: any, e: KeyboardEvent) {\r\n if (fp.config.enableTime && e.key === 'Tab' && e.target === fp.amPM) {\r\n e.preventDefault();\r\n fp.confirmContainer.focus();\r\n } else if (e.key === 'Enter' && e.target === fp.confirmContainer) {\r\n fp.close();\r\n }\r\n },\r\n\r\n onReady () {\r\n if (fp.calendarContainer === undefined) {\r\n return;\r\n }\r\n\r\n fp.confirmContainer = fp._createElement(\r\n 'div',\r\n `flatpickr-confirm visible lightTheme`,\r\n config.confirmText\r\n );\r\n\r\n fp.confirmContainer.tabIndex = -1;\r\n fp.confirmContainer.innerHTML += config.confirmIcon;\r\n\r\n fp.confirmContainer.addEventListener('click', (event: Event) => {\r\n event.stopPropagation();\r\n fp.close();\r\n });\r\n fp.calendarContainer.appendChild(fp.confirmContainer);\r\n }\r\n };\r\n\r\n return hooks;\r\n }\r\n}\r\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\n\r\nimport { FileUpload, UploadStatus } from './file-upload.model';\r\n\r\n@Component({\r\n selector: 'cp-file-progress',\r\n templateUrl: './file-progress.component.html',\r\n styleUrls: ['./file-progress.component.less']\r\n})\r\nexport class FileProgressComponent {\r\n @Input()\r\n file: FileUpload;\r\n\r\n @Output()\r\n remove = new EventEmitter();\r\n\r\n @HostBinding('class.mod-error')\r\n get hasError() {\r\n return this.file && this.hasFailed || this.isDuplicate;\r\n }\r\n\r\n @HostBinding('class.mod-complete')\r\n get isComplete() {\r\n return this.file && this.file.status === UploadStatus.Complete;\r\n }\r\n\r\n get isReady() {\r\n return this.file.status === UploadStatus.Ready;\r\n }\r\n\r\n get hasFailed() {\r\n return this.file.status === UploadStatus.Failed;\r\n }\r\n\r\n get isDuplicate() {\r\n return this.file.status === UploadStatus.Duplicate;\r\n }\r\n\r\n get isUploading() {\r\n return this.file.status === UploadStatus.Uploading;\r\n }\r\n\r\n get progress() {\r\n switch (this.file.status) {\r\n case UploadStatus.Uploading: return this.file.progress;\r\n case UploadStatus.Complete: return 100;\r\n default: return 0;\r\n }\r\n }\r\n\r\n onRemove(file: FileUpload, $event: MouseEvent) {\r\n $event.stopPropagation();\r\n this.remove.emit(file);\r\n }\r\n}\r\n","
\r\n {{file.name}}\r\n {{'Errors.fileUpload' | translate}}\r\n {{'Errors.duplicateFile' | translate}}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'NewTranslation.nPercent' | translate:{value: progress} }}\r\n \r\n \r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\nimport { DialogMessage } from '../../dialog/dialog.model';\r\nimport { DialogService } from '../../dialog/dialog.service';\r\nimport { Observable, Subscription } from '../../util/rxjs';\r\nimport { FileResult, FileStatus, FileUpload, UploadStatus } from './file-upload.model';\r\nimport { FileUploadService } from './file-upload.service';\r\n\r\nconst DIRECTORY_HEURISTIC_THRESHOLD = 1024 * 1024; // 1 MB\r\n\r\n@Component({\r\n selector: 'cp-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.less'],\r\n providers: [FileUploadService]\r\n})\r\nexport class FileUploadComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() uploadTitle: string;\r\n\r\n @Input() uploadMessage: string;\r\n\r\n @Input() uploadUrl: (file: FileUpload) => string;\r\n\r\n @Input() deleteUrl: (file: FileUpload) => string;\r\n\r\n @Input() deleteAllUrl: () => string;\r\n\r\n @Input() maxFileSize = 4;\r\n\r\n @Input() required = true;\r\n\r\n @Input() validate = true;\r\n\r\n @ViewChild('fileInput') fileInput: ElementRef;\r\n\r\n errorMessage: string | undefined;\r\n private uploadSubscription: Subscription;\r\n\r\n get hasUploads() {\r\n return this.service.files && this.service.files.length > 0;\r\n }\r\n\r\n get hasErrors() {\r\n return this.validate && !!this.errorMessage;\r\n }\r\n\r\n constructor(public service: FileUploadService, private dialog: DialogService) {}\r\n\r\n ngOnInit() {\r\n this.service.uploadUrl = this.uploadUrl;\r\n this.service.deleteUrl = this.deleteUrl;\r\n this.service.deleteAllUrl = this.deleteAllUrl;\r\n this.service.uploadFinished$.subscribe(() => this.checkValidity());\r\n\r\n this.checkValidity();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['validate']) {\r\n this.checkValidity();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.uploadSubscription) {\r\n this.uploadSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n showFileBrowser() {\r\n this.fileInput.nativeElement.click();\r\n }\r\n\r\n onFilesChosen($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n if (target.files) {\r\n this.uploadFiles(target.files);\r\n }\r\n target.value = '';\r\n }\r\n\r\n removeFile(file: FileUpload) {\r\n this.service.remove(file);\r\n this.checkValidity();\r\n }\r\n\r\n uploadFiles(fileList: FileList) {\r\n if (!fileList || fileList.length === 0) {\r\n return;\r\n }\r\n\r\n Observable.from(fileList)\r\n .flatMap(file => this.uploadOrError(file))\r\n .reduce((results: FileResult[], current: FileResult) => [...results, current], [])\r\n .subscribe(results => this.processUploadResults(results)); \r\n \r\n }\r\n\r\n checkValidity() {\r\n if (this.required && this.service.files.length === 0) {\r\n this.errorMessage = 'Errors.atLeastOneFileRequired';\r\n return false;\r\n }\r\n\r\n for (const file of this.service.files) {\r\n if (file.status === UploadStatus.Failed || file.status === UploadStatus.Duplicate) {\r\n this.errorMessage = 'Errors.removeFailedUploads';\r\n return false;\r\n } else if (file.status !== UploadStatus.Complete) {\r\n this.errorMessage = 'Errors.waitForFileUpload';\r\n return false;\r\n }\r\n }\r\n\r\n this.errorMessage = undefined;\r\n return true;\r\n }\r\n\r\n private uploadOrError(file: File) {\r\n const result = {\r\n name: file.name,\r\n status: FileStatus.Successful\r\n };\r\n if (file.size > this.maxFileSizeBytes) {\r\n result.status |= FileStatus.ErrorTooLarge;\r\n }\r\n if (file.size < DIRECTORY_HEURISTIC_THRESHOLD) {\r\n return this.createUploaderObservable(file, result);\r\n } else {\r\n if (result.status === FileStatus.Successful) {\r\n this.service.upload(file);\r\n }\r\n return Observable.of(result);\r\n }\r\n }\r\n\r\n private createUploaderObservable(file: File, result: FileResult) {\r\n return Observable.defer>(() => {\r\n const reader = new FileReader();\r\n const observable = new Observable(observer => {\r\n reader.onerror = () => {\r\n result.status |= FileStatus.ErrorIsFolder;\r\n observer.next(result);\r\n observer.complete();\r\n };\r\n reader.onload = () => {\r\n if (result.status === FileStatus.Successful) {\r\n this.service.upload(file);\r\n }\r\n observer.next(result);\r\n observer.complete();\r\n };\r\n });\r\n reader.readAsArrayBuffer(file);\r\n return observable;\r\n });\r\n }\r\n\r\n private processUploadResults(fileResults: FileResult[]) {\r\n const sizeErrors: string[] = [];\r\n const folderErrors: string[] = [];\r\n for (const result of fileResults) {\r\n if ((result.status & FileStatus.ErrorTooLarge) !== 0) {\r\n sizeErrors.push(result.name);\r\n }\r\n if ((result.status & FileStatus.ErrorIsFolder) !== 0) {\r\n folderErrors.push(result.name);\r\n }\r\n }\r\n\r\n if (sizeErrors.length > 0 || folderErrors.length > 0) {\r\n const messages: DialogMessage[] = [];\r\n if (sizeErrors.length > 0) {\r\n messages.push({\r\n value: 'Errors.maximumFileSizeExceeded',\r\n params: {\r\n size: this.maxFileSize.toString(),\r\n files: sizeErrors.join(', ')\r\n }\r\n });\r\n }\r\n if (folderErrors.length > 0) {\r\n messages.push({\r\n value: 'Errors.noDirectoryUpload',\r\n params: {\r\n files: folderErrors.join(', ')\r\n }\r\n });\r\n }\r\n\r\n this.dialog.ok('Dialog.fileUploadWarning', ...messages).show();\r\n }\r\n this.checkValidity();\r\n }\r\n\r\n private get maxFileSizeBytes() {\r\n return this.maxFileSize * 1024 * 1024;\r\n }\r\n}\r\n","
\r\n
{{uploadTitle | translate}}
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cpFileUpload]'\r\n})\r\nexport class FileUploadDirective {\r\n @Output()\r\n fileDrop = new EventEmitter();\r\n\r\n private inDragAreaCounter = 0;\r\n\r\n @HostBinding('class.mod-drop')\r\n get inDragArea() {\r\n return this.inDragAreaCounter !== 0;\r\n }\r\n\r\n @HostListener('dragenter', ['$event'])\r\n onDragEnter($event: DragEvent) {\r\n $event.preventDefault();\r\n this.inDragAreaCounter += 1;\r\n }\r\n\r\n @HostListener('dragover', ['$event'])\r\n onDragOver($event: DragEvent) {\r\n $event.preventDefault();\r\n if ($event.dataTransfer) {\r\n $event.dataTransfer.dropEffect = 'copy';\r\n }\r\n }\r\n\r\n @HostListener('dragleave', ['$event'])\r\n onDragLeave($event: DragEvent) {\r\n this.inDragAreaCounter -= 1;\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop($event: DragEvent) {\r\n $event.preventDefault();\r\n this.inDragAreaCounter = 0;\r\n if ($event.dataTransfer) {\r\n this.fileDrop.emit($event.dataTransfer.files);\r\n }\r\n }\r\n}\r\n","import { Subscription } from '../../util/rxjs';\r\n\r\nexport const enum UploadStatus {\r\n Ready,\r\n Uploading,\r\n Complete,\r\n Failed,\r\n Duplicate\r\n}\r\n\r\nexport const enum FileStatus {\r\n Successful = 0,\r\n ErrorIsFolder = 1 << 0,\r\n ErrorTooLarge = 1 << 1\r\n}\r\n\r\nexport interface FileUpload {\r\n name: string;\r\n progress: number;\r\n status: UploadStatus;\r\n\r\n file: File;\r\n upload?: Subscription;\r\n}\r\n\r\nexport interface FileResult {\r\n name: string;\r\n status: FileStatus;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpService } from '../../http.service';\r\nimport { Observable, Subject } from '../../util/rxjs';\r\nimport { FileUpload, UploadStatus } from './file-upload.model';\r\n\r\ninterface fileUpload {\r\n status: any;\r\n upload: any;\r\n file: any;\r\n progress: any;\r\n name: any;\r\n}\r\n\r\n@Injectable()\r\nexport class FileUploadService {\r\n files: FileUpload[] = [];\r\n uploadFinished$: Observable;\r\n\r\n uploadUrl: (file: FileUpload) => string;\r\n deleteUrl: (file: FileUpload) => string;\r\n deleteAllUrl: () => string;\r\n\r\n private uploadFinishedStream = new Subject();\r\n\r\n constructor(private http: HttpService) {\r\n this.uploadFinished$ = this.uploadFinishedStream.asObservable();\r\n }\r\n\r\n upload(file: File) {\r\n if (this.hasDuplicate(file)) {\r\n this.files.push(this.toUploadedFile(file, UploadStatus.Duplicate));\r\n } else {\r\n this.files.push(this.toUploadedFile(file, UploadStatus.Ready));\r\n }\r\n this.startNextUpload();\r\n }\r\n\r\n remove(file: FileUpload) {\r\n if (file.status === UploadStatus.Uploading && file.upload) {\r\n file.upload.unsubscribe();\r\n }\r\n\r\n if (file.status === UploadStatus.Uploading || file.status === UploadStatus.Complete) {\r\n this.http.delete(this.deleteUrl(file)).subscribe();\r\n }\r\n\r\n this.files.splice(this.files.findIndex(f => (f.name === file.name && f.status === file.status)), 1);\r\n this.startNextUpload()\r\n }\r\n\r\n removeAll() {\r\n this.http.delete(this.deleteAllUrl()).subscribe();\r\n this.files = [];\r\n }\r\n\r\n private startNextUpload() {\r\n const nextFile: fileUpload = this.findNextUpload();\r\n if (!nextFile) {\r\n return;\r\n }\r\n\r\n nextFile.status = UploadStatus.Uploading;\r\n nextFile.upload = this.http.uploadFile(this.uploadUrl(nextFile), nextFile.file)\r\n .subscribe(event => {\r\n nextFile.progress = event.progress;\r\n }, () => {\r\n nextFile.status = UploadStatus.Failed;\r\n nextFile.progress = 0;\r\n this.uploadFinishedStream.next(nextFile);\r\n this.startNextUpload();\r\n }, () => {\r\n nextFile.status = UploadStatus.Complete;\r\n nextFile.progress = 100;\r\n this.uploadFinishedStream.next(nextFile);\r\n this.startNextUpload();\r\n });\r\n }\r\n\r\n private toUploadedFile(file: File, status: UploadStatus): FileUpload {\r\n return {\r\n file,\r\n name: file.name,\r\n status: status,\r\n progress: 0\r\n };\r\n }\r\n\r\n private findNextUpload() {\r\n let fileToUpload: any = undefined;\r\n for (const file of this.files) {\r\n if (file.status === UploadStatus.Uploading) {\r\n return undefined;\r\n } else if (!fileToUpload && file.status === UploadStatus.Ready) {\r\n fileToUpload = file;\r\n }\r\n }\r\n return fileToUpload;\r\n }\r\n\r\n private hasDuplicate(file: File) {\r\n return this.files.findIndex(f => f.name === file.name) !== -1;\r\n }\r\n}\r\n\r\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[cpFocusIndex]'\r\n})\r\nexport class FocusIndexDirective implements OnChanges {\r\n @Input()\r\n cpFocusIndex: number;\r\n\r\n @Input()\r\n currentIndex: number;\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnChanges() {\r\n if (this.elementRef && this.cpFocusIndex != null && this.cpFocusIndex === this.currentIndex) {\r\n const target = this.elementRef.nativeElement as HTMLElement;\r\n const parent = target.parentElement;\r\n\r\n if (!parent) {\r\n return;\r\n }\r\n\r\n if (target.offsetTop < parent.scrollTop) {\r\n parent.scrollTop -= (parent.scrollTop - target.offsetTop);\r\n } else if ((target.offsetTop + target.scrollHeight) > (parent.scrollTop + parent.clientHeight)) {\r\n parent.scrollTop += (target.offsetTop + target.scrollHeight) - (parent.scrollTop + parent.clientHeight);\r\n }\r\n }\r\n }\r\n}\r\n\r\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-icon',\r\n template: `\r\n
\r\n
\r\n `,\r\n styles: [`\r\n :host { display: flex; }\r\n .icon-16 { font-size: 16px }\r\n .icon-26 { font-size: 26px }\r\n .icon-30 { font-size: 30px }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class IconComponent {\r\n @Input()\r\n icon: string;\r\n\r\n @Input()\r\n size = 16;\r\n\r\n @Input()\r\n colorClass = 'branding-accent-normal-foreground';\r\n\r\n get iconClass() {\r\n return `cp-icon-${this.icon} icon-${this.size}`;\r\n }\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\nexport type InputTypes =\r\n | 'text'\r\n | 'search'\r\n | 'email'\r\n | 'password';\r\n\r\n@Component({\r\n selector: 'cp-input',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.less']\r\n})\r\nexport class InputComponent implements OnInit {\r\n @Input()\r\n type: InputTypes;\r\n\r\n @Input()\r\n inputId = '';\r\n\r\n @Input()\r\n cpFormControl = new UntypedFormControl();\r\n\r\n @Input()\r\n showErrors = true;\r\n\r\n @Input()\r\n label?: string;\r\n\r\n @Input()\r\n large?: boolean;\r\n\r\n @Input()\r\n inputClass = '';\r\n\r\n @Input()\r\n explicitError?: string;\r\n\r\n @Input()\r\n placeholder = '';\r\n\r\n @Input()\r\n disabled = false;\r\n\r\n @Input()\r\n grow?: boolean;\r\n\r\n @Input()\r\n search?: boolean;\r\n\r\n @Input()\r\n errorClass?: string;\r\n\r\n @Input()\r\n validate = true;\r\n\r\n @Input()\r\n get cpModel() {\r\n return this.cpModelValue;\r\n }\r\n\r\n @Output()\r\n cpModelChange = new EventEmitter();\r\n\r\n set cpModel(value: string | undefined) {\r\n this.cpModelValue = value;\r\n this.cpModelChange.emit(value);\r\n }\r\n\r\n get mergedInputClass() {\r\n return { 'mod-search icon-search': this.search, 'mod-error': this.validate };\r\n }\r\n\r\n private cpModelValue: string | undefined;\r\n\r\n ngOnInit() {\r\n if (this.disabled) {\r\n this.cpFormControl.disable();\r\n }\r\n }\r\n}\r\n","\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-language-selector',\r\n templateUrl: './language-selector.component.html',\r\n styleUrls: ['./language-selector.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LanguageSelectorComponent {\r\n @Input() selected: string;\r\n\r\n @Input() options: string[];\r\n\r\n @Output() languageChange = new EventEmitter();\r\n\r\n isExpanded = false;\r\n\r\n open() {\r\n this.isExpanded = true;\r\n }\r\n\r\n select(option: string) {\r\n this.languageChange.emit(option);\r\n this.isExpanded = false;\r\n }\r\n\r\n getDisplayedLanguage(code: string) {\r\n return code;\r\n }\r\n}\r\n","\r\n\r\n\r\n {{getDisplayedLanguage(selected) | translate}}\r\n\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-link',\r\n templateUrl: './link.component.html',\r\n styleUrls: ['./link.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LinkComponent {\r\n @Input()\r\n isButton = false;\r\n\r\n @Input()\r\n linkClass?: string;\r\n\r\n @Input()\r\n label?: string;\r\n\r\n @Input()\r\n icon?: string;\r\n\r\n @Input()\r\n colorClass = 'branding-accent-normal-fill';\r\n\r\n @Input()\r\n route?: string[];\r\n\r\n @Input()\r\n link?: string;\r\n\r\n get title() {\r\n return this.icon && this.label ? this.label : null;\r\n }\r\n}\r\n","\r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n {{label | translate}}\r\n\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\n\r\nimport { clamp } from '../../util';\r\n\r\nexport interface PageChangeEvent {\r\n startIndex: number;\r\n endIndex: number;\r\n}\r\n\r\n@Component({\r\n selector: 'cp-paginator',\r\n templateUrl: './paginator.component.html',\r\n styleUrls: ['./paginator.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PaginatorComponent implements OnInit, OnChanges {\r\n @Input()\r\n itemCount: number;\r\n\r\n @Input()\r\n itemsPerPage = 15;\r\n\r\n @Output()\r\n pageChange = new EventEmitter();\r\n\r\n currentPage = 0;\r\n pages: number[];\r\n\r\n constructor(private cd: ChangeDetectorRef) {\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.currentPage = page;\r\n\r\n const startIndex = this.currentPage * this.itemsPerPage;\r\n const endIndex = startIndex + this.itemsPerPage;\r\n this.pageChange.emit({ startIndex, endIndex });\r\n }\r\n\r\n canStep(delta: number) {\r\n const newPage = this.currentPage + delta;\r\n return newPage >= 0 && newPage < this.pages.length;\r\n }\r\n\r\n onStepPage(delta: number) {\r\n this.onPageChange(clamp(this.currentPage + delta, 0, this.pages.length - 1));\r\n }\r\n\r\n ngOnInit() {\r\n this.updatePages(this.itemCount, this.itemsPerPage);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const itemCount = changes['itemCount'];\r\n if (itemCount) {\r\n this.updatePages(itemCount.currentValue || this.itemCount, this.itemsPerPage);\r\n }\r\n }\r\n\r\n updatePages(itemCount: number, itemsPerPage: number) {\r\n this.pages = Array(Math.ceil(this.itemCount / this.itemsPerPage)).fill(0).map((_, i) => i);\r\n this.cd.detectChanges();\r\n }\r\n}\r\n","","import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\nimport { Subscription } from '../../util/rxjs';\r\nimport { calculatePasswordStrength } from '../validators/passwordValidator';\r\n\r\n@Component({\r\n selector: 'cp-password-strength',\r\n templateUrl: './password-strength.component.html',\r\n styleUrls: ['./password-strength.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PasswordStrengthComponent implements OnDestroy, OnInit {\r\n @Input()\r\n passwordControl: UntypedFormControl;\r\n\r\n @Input()\r\n validate = true;\r\n\r\n strength = 0;\r\n get isStrongPassword() {\r\n return this.strength >= 3;\r\n }\r\n\r\n get password$() {\r\n return this.passwordControl.valueChanges;\r\n }\r\n\r\n private passwordStrengthSubscription: Subscription;\r\n\r\n points = [\r\n 'rgb(255, 0, 0)',\r\n 'rgb(255, 153, 0)',\r\n 'rgb(255, 255, 0)',\r\n 'rgb(153, 255, 0)',\r\n 'rgb(0, 255, 0)'\r\n ];\r\n\r\n ngOnInit() {\r\n this.passwordStrengthSubscription = this.passwordControl.valueChanges\r\n .subscribe(value => {\r\n this.strength = calculatePasswordStrength(value);\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.passwordStrengthSubscription) {\r\n this.passwordStrengthSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n getColorFor(index: number, password: string) {\r\n const strength = calculatePasswordStrength(password);\r\n if (strength >= (index + 1)) {\r\n return this.points[strength - 1];\r\n }\r\n return 'rgb(221, 221, 221)';\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener,\r\n Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\nimport { intersect } from '../../util/array';\r\nimport { compareByLabel, compareByValue, partialMatches } from '../../util/compare';\r\nimport { Subscription } from '../../util/rxjs';\r\n\r\nimport { LocaleService } from '../../locale/locale.service';\r\nimport { LocalizedModel } from '../../locale/localized-model';\r\nimport { LocalizedModelService } from '../../locale/localized-model.service';\r\n\r\nexport interface Option {\r\n value: T;\r\n label: string;\r\n}\r\n\r\n@Component({\r\n selector: 'cp-select',\r\n templateUrl: './select.component.html',\r\n styleUrls: ['./select.component.less']\r\n})\r\nexport class SelectComponent implements OnChanges, OnDestroy, OnInit {\r\n @Input()\r\n multiple?: boolean;\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n large = false;\r\n\r\n @Input()\r\n placeholder: string;\r\n\r\n @Input()\r\n emptyPlaceholder: string;\r\n\r\n @Input()\r\n inputId: string;\r\n\r\n @Input()\r\n cpFormControl?: UntypedFormControl;\r\n\r\n @Input()\r\n showErrors = true;\r\n\r\n @Input()\r\n clearable = false;\r\n\r\n @Input()\r\n validate = true;\r\n\r\n @Input()\r\n options: Array | string | number>;\r\n\r\n @Input()\r\n sortByLabel = true;\r\n\r\n @Input()\r\n autoSelect: number | undefined;\r\n\r\n @Output()\r\n selectionChange = new EventEmitter | Array>>();\r\n\r\n @ViewChild('mainInput')\r\n mainInput: ElementRef;\r\n\r\n isValid = false;\r\n isOpen = false;\r\n\r\n focusedIndex = 0;\r\n localizedModel: LocalizedModel>;\r\n selection: Array> = [];\r\n\r\n private insideSelect = false;\r\n private valueSubscription: Subscription;\r\n private filterValue: string | undefined;\r\n\r\n @HostListener('keydown', ['$event'])\r\n handleKeyDown($event: KeyboardEvent) {\r\n if (!this.isOpen) {\r\n this.handleClosedKeypress($event);\r\n } else {\r\n this.handleOpenKeypress($event);\r\n }\r\n }\r\n\r\n get selectedOption(): Option | undefined {\r\n if (this.multiple) {\r\n throw new Error('The single selection accessor should not be used with the multiple select mode');\r\n }\r\n return this.selection[0];\r\n }\r\n\r\n get data() {\r\n return this.localizedModel.data!;\r\n }\r\n\r\n get hasSelection() {\r\n return this.selection.length > 0;\r\n }\r\n\r\n get stringValue() {\r\n return this.selection.map(s => s.label).join();\r\n }\r\n\r\n get filter() {\r\n return this.filterValue;\r\n }\r\n\r\n set filter(value: string | undefined) {\r\n this.filterValue = value;\r\n\r\n const currentFocused = this.focusedIndex && this.data[this.focusedIndex];\r\n this.localizedModel.onUpdateExisting();\r\n\r\n if (currentFocused) {\r\n const newIndex = this.data.findIndex(item => item.value === currentFocused.value);\r\n this.focusedIndex = newIndex === -1 ? 0 : newIndex;\r\n }\r\n }\r\n\r\n constructor(private changeDetector: ChangeDetectorRef, localeService: LocaleService,\r\n localizedModelService: LocalizedModelService) {\r\n this.localizedModel = new LocalizedModel>(localeService, localizedModelService, {\r\n filter: value => this.selectFilterFunction(value),\r\n exclude: value => this.multiple ? this.selection.findIndex(v => v.value === value.value) !== -1 : false,\r\n sort: data => this.sortByLabel ? data.sort(compareByLabel) : data.sort(compareByValue)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.placeholder = this.placeholder || '';\r\n this.inputId = this.inputId || '';\r\n this.cpFormControl = this.cpFormControl || new UntypedFormControl();\r\n this.valueSubscription = this.cpFormControl.valueChanges\r\n .subscribe(() => this.isValid = this.cpFormControl!.valid);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.valueSubscription) {\r\n this.valueSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const options = changes['options'];\r\n if (options) {\r\n this.updateOptions(options.currentValue);\r\n this.performAutoSelect();\r\n }\r\n }\r\n\r\n identify(_index: number, item: Option) {\r\n return item.value;\r\n }\r\n\r\n showDropdown() {\r\n if (this.isOpen) {\r\n return;\r\n }\r\n\r\n this.isOpen = true;\r\n\r\n if (!this.multiple) {\r\n this.focusedIndex = (this.selectedOption && this.data.findIndex(item => this.selectedOption!.value === item.value)) || 0;\r\n } else {\r\n this.focusedIndex = 0;\r\n }\r\n }\r\n\r\n hideDropdown(fromBlur = false) {\r\n if (fromBlur && this.insideSelect && this.mainInput) {\r\n this.mainInput.nativeElement.focus();\r\n return;\r\n }\r\n\r\n this.isOpen = false;\r\n this.filter = '';\r\n }\r\n\r\n preventFocusLoss($event: Event) {\r\n $event.preventDefault();\r\n }\r\n\r\n isSelected(item: Option) {\r\n if (this.multiple) {\r\n return false;\r\n }\r\n return this.hasSelection && item.value === this.selection[0].value;\r\n }\r\n\r\n select(item: Option) {\r\n if (!item) {\r\n return;\r\n }\r\n\r\n if (this.multiple) {\r\n this.selection = [...this.selection, item];\r\n } else {\r\n this.selection = [item];\r\n }\r\n this.onSelectionChanged();\r\n\r\n if (this.multiple) {\r\n this.filter = '';\r\n } else {\r\n this.hideDropdown();\r\n }\r\n\r\n this.localizedModel.onUpdateExisting();\r\n this.changeDetector.detectChanges();\r\n }\r\n\r\n ensureDropdownOpen(value: string) {\r\n if (value) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n remove(item: Option) {\r\n const index = this.selection.findIndex(selected => selected.value === item.value);\r\n if (index !== -1) {\r\n this.selection = [\r\n ...this.selection.slice(0, index),\r\n ...this.selection.slice(index + 1)\r\n ];\r\n this.onSelectionChanged();\r\n this.localizedModel.onUpdateExisting();\r\n }\r\n }\r\n\r\n focusIndex(index: number) {\r\n this.focusedIndex = index;\r\n }\r\n\r\n enter() {\r\n if (!this.insideSelect) {\r\n this.insideSelect = true;\r\n }\r\n }\r\n\r\n leave() {\r\n if (this.insideSelect) {\r\n this.insideSelect = false;\r\n }\r\n }\r\n\r\n private handleOpenKeypress($event: KeyboardEvent) {\r\n switch ($event.key) {\r\n case 'ArrowUp':\r\n this.focusedIndex = Math.max(0, this.focusedIndex - 1);\r\n break;\r\n case 'ArrowDown':\r\n this.focusedIndex = Math.min(this.data.length - 1, this.focusedIndex + 1);\r\n break;\r\n case 'Enter':\r\n if (this.focusedIndex != null) {\r\n this.select(this.data[this.focusedIndex]);\r\n }\r\n break;\r\n case 'Escape':\r\n this.hideDropdown();\r\n }\r\n }\r\n\r\n private handleClosedKeypress($event: KeyboardEvent) {\r\n switch ($event.key) {\r\n case 'ArrowDown':\r\n case 'Enter':\r\n this.showDropdown();\r\n break;\r\n }\r\n }\r\n\r\n private performAutoSelect() {\r\n if (!this.autoSelect || !this.localizedModel.rawData || this.localizedModel.rawData.length > this.autoSelect) {\r\n return;\r\n }\r\n\r\n this.selection = [...this.localizedModel.rawData];\r\n this.localizedModel.onUpdateExisting();\r\n this.selectionChange.emit(this.selection);\r\n }\r\n\r\n private updateOptions(options?: Array>) {\r\n const mappedOptions = options && options.map(option => typeof option === 'object' ? option : {\r\n value: option,\r\n label: option.toString()\r\n } as any);\r\n this.localizedModel.onUpdate(mappedOptions);\r\n this.updateSelection();\r\n }\r\n\r\n private get selectFilterFunction() {\r\n return (option: Option) => !this.filterValue || partialMatches(option, this.filterValue, {\r\n ignoreCase: true\r\n });\r\n }\r\n\r\n private updateSelection() {\r\n if (!this.options || !this.selection || this.selection.length === 0) {\r\n return;\r\n }\r\n\r\n this.selection = intersect(this.selection, this.localizedModel.rawData!, (a, b) => a.value === b.value);\r\n this.onSelectionChanged();\r\n }\r\n\r\n private onSelectionChanged() {\r\n this.selectionChange.emit(this.selection);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{emptyPlaceholder | translate}}\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {{item.label}}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {{selection[0].label}}\r\n \r\n
\r\n \r\n
\r\n {{placeholder | translate}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'cp-validation-error',\r\n templateUrl: './validation-error.component.html',\r\n styleUrls: ['./validation-error.component.less']\r\n})\r\nexport class ValidationErrorComponent {\r\n @Input()\r\n errors: string[] | object | string | UntypedFormControl;\r\n\r\n @Input()\r\n validate: boolean;\r\n\r\n @Input()\r\n collapseMargin = true;\r\n\r\n getLocalizedError(error: string) {\r\n return error.startsWith('Errors.') ? error : `Errors.${error}`;\r\n }\r\n\r\n get errorKeys(): string[] | undefined {\r\n if (!this.errors) {\r\n return undefined;\r\n }\r\n\r\n if (this.errors instanceof Array) {\r\n return this.errors;\r\n }\r\n\r\n if (this.errors instanceof UntypedFormControl) {\r\n return (this.errors.errors && Object.keys(this.errors.errors)) || undefined;\r\n }\r\n\r\n if (typeof this.errors === 'object') {\r\n return Object.keys(this.errors);\r\n }\r\n\r\n return [this.errors];\r\n }\r\n}\r\n","
\r\n \r\n {{(getLocalizedError(error)) | translate}}\r\n \r\n
\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport const calculatePasswordStrength = (password: string) => {\r\n let strength = 0;\r\n if (!password) {\r\n return 0;\r\n }\r\n\r\n if (8 <= password.length) {\r\n strength++;\r\n }\r\n if (12 <= password.length) {\r\n strength++;\r\n }\r\n if ((password.match(/[a-z]/)) || (password.match(/[A-Z]/))) {\r\n strength++;\r\n }\r\n if (password.match(/\\d+/)) {\r\n strength++;\r\n }\r\n if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,),+,',\"]/)) {\r\n strength++;\r\n }\r\n\r\n return password.length < 8 ? Math.min(2, strength) : strength;\r\n}\r\n\r\nexport const passwordValidator: ValidatorFn = (control: AbstractControl) => {\r\n return calculatePasswordStrength(control.value) >= 3\r\n ? null\r\n : { passwordStrength: 'The given password is not strong enough' };\r\n}\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { AccountGuard } from './account.guard';\r\nimport { AppConfigService } from './app-config.service';\r\nimport { AuthGuard } from './auth.guard';\r\nimport { ConfigurationService } from './configuration.service';\r\nimport { ContextMenuService } from './context-menu/context-menu.service';\r\nimport { DialogService } from './dialog/dialog.service';\r\nimport { EmailService } from './email.service';\r\nimport { FeedbackBarService } from './feedback-bar/feedback-bar.service';\r\nimport { HttpService } from './http.service';\r\nimport { IdlePreload } from './idle-preload';\r\nimport { JobService } from './job.service';\r\nimport { LoadingBarService } from './loading-bar/loading-bar.service';\r\nimport { LocaleGuard } from './locale/locale.guard';\r\nimport { LocaleService } from './locale/locale.service';\r\nimport { LocalizedModelService } from './locale/localized-model.service';\r\nimport { ManagerGuard } from './manager.guard';\r\nimport { UserService } from './user/user.service';\r\n\r\nimport { ContextMenuComponent } from './context-menu/context-menu.component';\r\nimport { ControlsModule } from './controls/controls.module';\r\nimport { DialogComponent } from './dialog/dialog.component';\r\nimport { FeedbackBarComponent } from './feedback-bar/feedback-bar.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { LoaderComponent } from './loader/loader.component';\r\nimport { LoadingBarComponent } from './loading-bar/loading-bar.component';\r\nimport { NavComponent } from './nav/nav.component';\r\nimport { PageComponent } from './page/page.component';\r\nimport { PanelComponent } from './panel/panel.component';\r\nimport { ProgressComponent } from './progress/progress.component';\r\nimport { TableBodyRowComponent } from './table/body';\r\nimport { TableBodyComponent } from './table/body/table-body.component';\r\nimport { ColumnComponent } from './table/column.component';\r\nimport { TableHeaderComponent } from './table/header/table-header.component';\r\nimport { TableComponent } from './table/table.component';\r\nimport { TooltipComponent } from './tooltip/tooltip.component';\r\nimport { TooltipDirective } from './tooltip/tooltip.directive';\r\n\r\nconst exportedComponents = [\r\n FooterComponent,\r\n NavComponent,\r\n ContextMenuComponent,\r\n ColumnComponent,\r\n FeedbackBarComponent,\r\n LoaderComponent,\r\n LoadingBarComponent,\r\n PageComponent,\r\n PanelComponent,\r\n ProgressComponent,\r\n TableComponent,\r\n TooltipComponent,\r\n TooltipDirective,\r\n DialogComponent,\r\n];\r\n\r\nconst exportedModules = [\r\n ControlsModule\r\n];\r\n\r\nexport const xsrfCookieName = 'X-XSRF-TOKEN';\r\nexport const xsrfHeaderName = 'X-XSRF-TOKEN';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n TranslateModule,\r\n ...exportedModules\r\n ],\r\n declarations: [\r\n ...exportedComponents,\r\n TableHeaderComponent,\r\n TableBodyComponent,\r\n TableBodyRowComponent\r\n ],\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TranslateModule,\r\n ...exportedComponents,\r\n ...exportedModules\r\n ]\r\n})\r\nexport class CoreModule {\r\n static forRoot(appConfig: AppConfigService): ModuleWithProviders {\r\n return {\r\n ngModule: CoreModule,\r\n providers: [\r\n AccountGuard,\r\n AuthGuard,\r\n ConfigurationService,\r\n ContextMenuService,\r\n DialogService,\r\n { provide: AppConfigService, useValue: appConfig },\r\n HttpService,\r\n IdlePreload,\r\n JobService,\r\n LocaleGuard,\r\n EmailService,\r\n FeedbackBarService,\r\n LocaleService,\r\n LoadingBarService,\r\n LocalizedModelService,\r\n ManagerGuard,\r\n UserService,\r\n ]\r\n };\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { Observable } from '../util/rxjs';\r\nimport { Action, Dialog, DialogMessage } from './dialog.model';\r\nimport { DialogService } from './dialog.service';\r\n\r\n@Component({\r\n selector: 'cp-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DialogComponent {\r\n dialogs$: Observable;\r\n\r\n constructor(private dialogService: DialogService) {\r\n this.dialogs$ = dialogService.dialogs$;\r\n }\r\n\r\n execute(action: Action) {\r\n action.execute();\r\n this.dialogService.dismiss();\r\n }\r\n\r\n hasParams(message: DialogMessage): message is DialogMessage {\r\n return typeof message !== 'string';\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{dialog.title | translate}}\r\n

\r\n\r\n
\r\n
\r\n {{hasParams(message) ? (message.value | translate:message.params) : (message | translate)}}\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable, Subject } from '../util/rxjs';\r\nimport { Action, Dialog, DialogMessage } from './dialog.model';\r\n\r\nclass DialogBuilder {\r\n private dialog: Partial;\r\n\r\n constructor(private service: DialogService) {\r\n this.dialog = {\r\n onDismiss: () => {}\r\n };\r\n }\r\n\r\n title(text: string) {\r\n this.dialog.title = text;\r\n return this;\r\n }\r\n\r\n messages(...messages: DialogMessage[]) {\r\n this.dialog.messages = messages;\r\n return this;\r\n }\r\n\r\n actions(...actions: Action[]) {\r\n this.dialog.actions = actions;\r\n return this;\r\n }\r\n\r\n onDismiss(action: () => void) {\r\n this.dialog.onDismiss = action;\r\n return this;\r\n }\r\n\r\n show() {\r\n this.service.show(this.dialog as Dialog);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class DialogService {\r\n dialogs$: Observable;\r\n private dialogStream = new Subject();\r\n\r\n constructor() {\r\n this.dialogs$ = this.dialogStream.asObservable();\r\n }\r\n\r\n show(dialog: Dialog) {\r\n if (dialog && document) {\r\n const body = document.querySelector('body') as HTMLElement;\r\n body.classList.add('disable-scrolling');\r\n }\r\n this.dialogStream.next(dialog);\r\n }\r\n\r\n dismiss() {\r\n if (document) {\r\n const body = document.querySelector('body') as HTMLElement;\r\n body.classList.remove('disable-scrolling');\r\n }\r\n this.dialogStream.next(undefined);\r\n }\r\n\r\n build() {\r\n return new DialogBuilder(this);\r\n }\r\n\r\n ok(title: string, ...messages: DialogMessage[]) {\r\n return new DialogBuilder(this)\r\n .actions({ name: 'Dialog.ok', execute: () => {} })\r\n .title(title)\r\n .messages(...messages);\r\n }\r\n\r\n confirmation({ confirmName, onConfirmed }: { confirmName: string, onConfirmed: () => void }) {\r\n return new DialogBuilder(this)\r\n .actions({ name: confirmName, execute: onConfirmed }, { name: 'Dialog.cancel', execute: () => {}, secondary: true });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { UserService } from './user/user.service';\r\n\r\n@Injectable()\r\nexport class EmailService {\r\n constructor(private userService: UserService) {}\r\n\r\n send(subject: string, ...addresses: string[]): void {\r\n if (window) {\r\n window.location.href = `mailto://${addresses.join(';')}?subject=${subject}`;\r\n }\r\n }\r\n\r\n sendToPms(subject: string): void {\r\n this.userService.listPMs().subscribe(infoList => {\r\n this.send(subject, ...infoList.map(info => info.emailAddress));\r\n });\r\n }\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { Observable, Subject } from '../util/rxjs';\r\nimport { FeedbackBarError, FeedbackBarService } from './feedback-bar.service';\r\n\r\n@Component({\r\n selector: 'cp-feedback-bar',\r\n templateUrl: './feedback-bar.component.html',\r\n styleUrls: ['./feedback-bar.component.less']\r\n})\r\nexport class FeedbackBarComponent {\r\n errors$: Observable;\r\n\r\n private hideStream = new Subject();\r\n\r\n constructor(private feedbackBarService: FeedbackBarService) {\r\n this.errors$ = this.feedbackBarService.errors$\r\n .merge(this.hideStream)\r\n .switchMap(error => Observable.of(error).concat(Observable.of(undefined).delay(5000)))\r\n .startWith(undefined);\r\n }\r\n\r\n hide() {\r\n this.hideStream.next(undefined);\r\n }\r\n}\r\n\r\n","
\r\n \r\n
{{(errors$ | async)?.message | translate}}
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpService } from '../http.service';\r\nimport { Observable } from '../util/rxjs';\r\n\r\nexport interface FeedbackBarError {\r\n message: string;\r\n params: { [key: string]: any };\r\n}\r\n\r\n@Injectable()\r\nexport class FeedbackBarService {\r\n errors$: Observable;\r\n\r\n constructor(http: HttpService) {\r\n this.errors$ = http.errors$.map(error => ({\r\n message: error.LocalizationKey || error.Message,\r\n params: error.LocalizationParams || {},\r\n } as FeedbackBarError));\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\r\n\r\nimport { ConfigurationService } from '../configuration.service';\r\nimport { Observable } from '../util/rxjs';\r\nimport { ServerVersion } from '../server-version.model';\r\n\r\n@Component({\r\n selector: 'cp-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FooterComponent implements OnInit {\r\n version$: Observable;\r\n\r\n constructor(private configurationService: ConfigurationService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.version$ = this.configurationService.getVersion(false);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{ \"Common.copyright\" | translate }} |\r\n {{ \"Common.mqsVersion\" | translate:{ value: version.memoQ } }} |\r\n {{ \"Common.cpVersion\" | translate:{ value: version.customerPortal } }}\r\n \r\n
\r\n
\r\n","import { HttpClient, HttpErrorResponse, HttpEventType, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { AppConfigService } from './app-config.service';\r\n\r\nexport interface CallOptions {\r\n redirectOnUnauthorized?: boolean;\r\n rethrowError?: boolean;\r\n emitRoleError?: boolean;\r\n emitGlobalError?: boolean;\r\n disableProgress?: boolean;\r\n}\r\n\r\nconst defaultCallOptions: CallOptions = {\r\n redirectOnUnauthorized: true,\r\n rethrowError: false,\r\n emitRoleError: true,\r\n emitGlobalError: true,\r\n disableProgress: false\r\n};\r\n\r\n@Injectable()\r\nexport class HttpService {\r\n private static readonly requestOptions = {\r\n responseType: 'json' as 'json',\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n observe: 'response' as 'response'\r\n };\r\n\r\n apiEndpoint: string;\r\n\r\n loadEnd$: Observable<{}>;\r\n loadStart$: Observable<{}>;\r\n\r\n errors$: Observable;\r\n roleErrors$: Observable<{}>;\r\n authorizationErrors$: Observable<{}>;\r\n\r\n private loadEndStream = new Subject<{}>();\r\n private loadStartStream = new Subject<{}>();\r\n\r\n private errorStream = new Subject();\r\n private roleErrorStream = new Subject<{}>();\r\n private authorizationErrorStream = new Subject<{}>();\r\n\r\n constructor(private http: HttpClient, appConfig: AppConfigService) {\r\n this.apiEndpoint = appConfig.apiEndpoint;\r\n\r\n this.loadEnd$ = this.loadEndStream.asObservable();\r\n this.loadStart$ = this.loadStartStream.asObservable();\r\n\r\n this.errors$ = this.errorStream.asObservable();\r\n this.roleErrors$ = this.roleErrorStream.asObservable();\r\n this.authorizationErrors$ = this.authorizationErrorStream.asObservable();\r\n }\r\n\r\n get(url: string, options?: CallOptions) {\r\n const request = this.http.get(this.getApiUrl(url), HttpService.requestOptions);\r\n return this.handleRequest(request, options);\r\n }\r\n\r\n delete(url: string, options?: CallOptions) {\r\n const request = this.http.delete(this.getApiUrl(url), HttpService.requestOptions);\r\n return this.handleRequest(request, options);\r\n }\r\n\r\n put(url: string, body: B, options?: CallOptions) {\r\n const request = this.http.put(\r\n this.getApiUrl(url),\r\n JSON.stringify(body),\r\n HttpService.requestOptions\r\n );\r\n return this.handleRequest(request, options);\r\n }\r\n\r\n post(url: string, body: B, options?: CallOptions) {\r\n const request = this.http.post(\r\n this.getApiUrl(url),\r\n JSON.stringify(body),\r\n HttpService.requestOptions\r\n );\r\n return this.handleRequest(request, options);\r\n }\r\n\r\n uploadFile(url: string, file: File) {\r\n const formData = new FormData();\r\n formData.append('fileToUpload', file, file.name);\r\n\r\n return this.http\r\n .post(this.getApiUrl(url), formData, { observe: 'events', reportProgress: true })\r\n .filter(\r\n event =>\r\n event.type === HttpEventType.UploadProgress || event.type === HttpEventType.Response\r\n )\r\n .map(event => {\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n return { progress: Math.round(event.loaded * 100 / (event.total || 1)) };\r\n case HttpEventType.Response:\r\n if (!event.ok) {\r\n throw new Error((event.body || {}).toString());\r\n }\r\n return { progress: 100 };\r\n default:\r\n throw new Error('Unknown HTTP event type');\r\n }\r\n }) as Observable<{ progress: number }>;\r\n }\r\n\r\n private handleRequest(\r\n request: Observable>,\r\n options?: CallOptions\r\n ): Observable {\r\n const optionsOrDefault = { ...defaultCallOptions, ...options };\r\n\r\n if (!optionsOrDefault.disableProgress) {\r\n this.loadStartStream.next();\r\n }\r\n\r\n return request\r\n .map(response => {\r\n try {\r\n this.stopLoading(optionsOrDefault);\r\n return response.body as any;\r\n } catch (error) {\r\n return {};\r\n }\r\n })\r\n .catch(error => this.handleError(error, optionsOrDefault));\r\n }\r\n\r\n private handleError(response: HttpErrorResponse, options: CallOptions) {\r\n this.stopLoading(options);\r\n\r\n if (response.status === 401 && options.redirectOnUnauthorized) {\r\n this.authorizationErrorStream.next();\r\n } else if (response.status === 403 && options.emitRoleError) {\r\n this.roleErrorStream.next();\r\n }\r\n\r\n const error = this.extractError(response);\r\n if (options.emitGlobalError) {\r\n this.errorStream.next(error);\r\n }\r\n\r\n return options.rethrowError ? Observable.throw(error) : Observable.empty();\r\n }\r\n\r\n private stopLoading(options: CallOptions) {\r\n if (!options.disableProgress) {\r\n this.loadEndStream.next();\r\n }\r\n }\r\n\r\n private extractError(response: HttpErrorResponse) {\r\n try {\r\n return response.error.LocalizationKey ? response.error : this.defaultError;\r\n } catch (err) {\r\n return this.defaultError;\r\n }\r\n }\r\n\r\n private get defaultError() {\r\n return {\r\n ErrorCode: 'UnspecifiedByServer',\r\n LocalizationKey: 'Errors.serverFailedToExecute',\r\n LocalizationParams: [],\r\n Message: 'Failed to execute request on server.'\r\n } as shared.ErrorResponse;\r\n }\r\n\r\n private getApiUrl(url: string) {\r\n return `${this.apiEndpoint}/${url}`;\r\n }\r\n}\r\n","export class IdentityProviderInfo {\r\n name: string;\r\n displayName: string;\r\n buttonIconUrl: string;\r\n buttonBackgroundColor: string;\r\n buttonTextColor: string;\r\n\r\n constructor(idpInfo: config.IdentityProviderInfo) {\r\n this.name = idpInfo.Name;\r\n this.displayName = idpInfo.DisplayName;\r\n this.buttonIconUrl = idpInfo.ButtonIconUrl;\r\n this.buttonBackgroundColor = idpInfo.ButtonBackgroundColor;\r\n this.buttonTextColor = idpInfo.ButtonTextColor;\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Observable } from './util/rxjs';\r\n\r\ntype Callback = (fn: () => void) => void;\r\n\r\nexport function requestIdle(zone: NgZone): Callback {\r\n const win: any = window;\r\n if (win.requestIdleCallback) {\r\n return fn => win.requestIdleCallback(fn);\r\n }\r\n return fn => zone.runOutsideAngular(() => {\r\n setTimeout(fn, 10);\r\n });\r\n}\r\n\r\n@Injectable()\r\nexport class IdlePreload implements PreloadingStrategy {\r\n private idleCallback: Callback;\r\n\r\n constructor(ngZone: NgZone) {\r\n this.idleCallback = requestIdle(ngZone);\r\n }\r\n\r\n preload(route: Route, fn: () => Observable) {\r\n this.idleCallback(fn);\r\n return Observable.of(null);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport * as signalR from \"@microsoft/signalr\";\r\n\r\nimport { HttpService } from './http.service';\r\nimport { LoadingBarService } from './loading-bar/loading-bar.service';\r\nimport { Subject } from './util/rxjs';\r\n\r\n@Injectable()\r\nexport class JobService {\r\n private connection: any;\r\n private jobSubjectMap = new Map>();\r\n\r\n constructor(private loadingBar: LoadingBarService, private httpService: HttpService) {\r\n\tthis.connection = new signalR.HubConnectionBuilder()\r\n\t\t.withUrl(this.signalrUrl)\r\n\t\t// .configureLogging(signalR.LogLevel.Trace) // can be user for testing signalr\r\n\t\t.build();\r\n this.initializeHub();\r\n }\r\n\r\n startJob(url: string, payload: any, jobIdCallback?: (jobId: string) => void) {\r\n const subject = new Subject();\r\n\r\n this.httpService.post(url, payload).subscribe(jobIdWrapper => {\r\n this.jobSubjectMap.set(jobIdWrapper.JobId, subject);\r\n\r\n if (jobIdCallback) {\r\n jobIdCallback(jobIdWrapper.JobId);\r\n }\r\n });\r\n\r\n return subject.asObservable();\r\n }\r\n\r\n connect() {\r\n return this.connection.start();\r\n }\r\n\r\n disconnect() {\r\n this.connection.stop();\r\n }\r\n\r\n private getBaseHref() {\r\n const base = document && document.getElementsByTagName('base');\r\n return base && base[0].href;\r\n }\r\n\r\n private get signalrUrl() {\r\n const base = this.getBaseHref();\r\n return base.endsWith('/') ? `${base}signalr` : `${base}/signalr`;\r\n }\r\n\r\n private initializeHub() {\r\n this.connection.on('onJobFinished', (response: shared.WebJobResponse) => {\r\n\t // console.log(\"CP test: onJobFinished\"); // can be user for testing signalr\r\n this.loadingBar.finishLoading();\r\n const subject = this.jobSubjectMap.get(response.JobId);\r\n\r\n // the job might have been cancelled\r\n if (subject) {\r\n this.jobSubjectMap.delete(response.JobId);\r\n\r\n // === shared.WebJobState.Success\r\n if (response.State === 0) {\r\n subject.next(response);\r\n } else {\r\n subject.error(response);\r\n }\r\n }\r\n });\r\n\r\n this.connection.on('onJobProgressChanged', (progress: shared.WebJobProgress) => {\r\n\t // console.log(\"CP test: onJobProgressChanged\"); // can be user for testing signalr\r\n return this.loadingBar.setProgress(progress.Progress);\r\n });\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoaderComponent {\r\n}\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { Observable } from '../util/rxjs';\r\nimport { LoadingBarEvent, LoadingBarService } from './loading-bar.service';\r\n\r\n@Component({\r\n selector: 'cp-loading-bar',\r\n templateUrl: './loading-bar.component.html',\r\n styleUrls: ['./loading-bar.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoadingBarComponent {\r\n events$: Observable;\r\n\r\n constructor(loadingBarService: LoadingBarService) {\r\n this.events$ = loadingBarService.events$;\r\n }\r\n\r\n isProgressEvent(event: LoadingBarEvent) {\r\n return event.type === 'progress';\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { HttpService } from '../http.service';\r\nimport { Observable, Subject } from '../util/rxjs';\r\n\r\nexport interface ProgressEvent {\r\n readonly type: 'progress';\r\n value: number;\r\n}\r\n\r\nexport interface StartEvent {\r\n readonly type: 'start';\r\n}\r\n\r\nexport interface FinishEvent {\r\n readonly type: 'finish';\r\n}\r\n\r\nexport type LoadingBarEvent = ProgressEvent | StartEvent | FinishEvent;\r\n\r\n@Injectable()\r\nexport class LoadingBarService {\r\n events$: Observable;\r\n private userEventsStream = new Subject();\r\n\r\n constructor(http: HttpService) {\r\n const startEvents = http.loadStart$.mapTo({ type: 'start' } as StartEvent);\r\n const finishEvents = http.loadEnd$.mapTo({ type: 'finish' } as FinishEvent);\r\n this.events$ = startEvents\r\n .merge(finishEvents)\r\n .merge(this.userEventsStream)\r\n .switchMap(event => this.processEvent(event));\r\n }\r\n\r\n setProgress(value: number) {\r\n this.userEventsStream.next({ type: 'progress', value })\r\n }\r\n\r\n startLoading() {\r\n this.userEventsStream.next({ type: 'start' });\r\n }\r\n\r\n finishLoading() {\r\n this.userEventsStream.next({ type: 'finish' });\r\n }\r\n\r\n private processEvent(event: LoadingBarEvent) {\r\n switch (event.type) {\r\n case 'start':\r\n return Observable.timer(0, 50).take(101)\r\n .map((_, value) => ({ type: 'progress', value } as ProgressEvent));\r\n default:\r\n return Observable.of(event);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { ReplaySubject } from '../util/rxjs';\r\n\r\n@Injectable()\r\nexport class LocaleGuard {\r\n languageLoaded = new ReplaySubject(1);\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.languageLoaded.map(() => true);\r\n }\r\n}\r\n","export interface Localized {\r\n value: T;\r\n label?: string;\r\n\r\n localizationKey: string | string[];\r\n localizationParams?: any;\r\n}\r\n\r\nexport interface LocalizedMoment extends Localized {\r\n localizationKey: string;\r\n}\r\n\r\nexport const isLocalized = (value: any): value is Localized => {\r\n return value && value.localizationKey != null;\r\n}\r\n\r\nexport const isLocalizedMoment = (value: any): value is LocalizedMoment => {\r\n return isLocalized(value) && moment.isMoment(value.value);\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CookieService } from 'ngx-cookie';\r\n\r\nimport { Observable, BehaviorSubject, ReplaySubject } from '../util/rxjs';\r\n\r\n@Injectable()\r\nexport class LocaleService {\r\n locale$: Observable;\r\n hadUnsupportedLanguage$: Observable;\r\n\r\n get flatpickrLocale() {\r\n const locale = moment.localeData();\r\n return {\r\n is24Hour: !locale.longDateFormat('LT').endsWith('A'),\r\n firstDayOfWeek: locale.firstDayOfWeek(),\r\n weekdays: {\r\n shorthand: locale.weekdaysShort(),\r\n longhand: locale.weekdays()\r\n },\r\n months: {\r\n shorthand: locale.monthsShort(),\r\n longhand: locale.months()\r\n }\r\n };\r\n }\r\n\r\n private defaultLocale = 'en';\r\n private localeCookieKey = 'locale';\r\n private localeCookieArgs = {\r\n expires: moment()\r\n .add(50, 'years')\r\n .toDate()\r\n };\r\n\r\n private localeStream = new ReplaySubject(1);\r\n private hadUnsupportedLanguageStream = new BehaviorSubject(false);\r\n\r\n constructor(private cookieService: CookieService, private translateService: TranslateService) {\r\n this.locale$ = this.localeStream.asObservable();\r\n this.hadUnsupportedLanguage$ = this.hadUnsupportedLanguageStream.asObservable();\r\n }\r\n\r\n setLocale$(value: string) {\r\n moment.locale(value);\r\n this.cookieService.put(this.localeCookieKey, value, this.localeCookieArgs);\r\n return this.translateService.use(value).do(() => this.localeStream.next(value));\r\n }\r\n\r\n setLocale(value: string) {\r\n this.setLocale$(value).subscribe();\r\n }\r\n\r\n formatMoment(date: moment.Moment, format: string) {\r\n return date.locale(moment.locale()).format(format);\r\n }\r\n\r\n getLocaleOrDefault() {\r\n let locale = this.cookieService.get(this.localeCookieKey);\r\n if (locale) {\r\n if (locale === \"ru\" || locale === \"pl\" || locale === \"pt\") {\r\n this.hadUnsupportedLanguageStream.next(true);\r\n locale = \"en\";\r\n }\r\n this.cookieService.put(this.localeCookieKey, locale, this.localeCookieArgs);\r\n return locale;\r\n } else {\r\n this.cookieService.put(this.localeCookieKey, this.defaultLocale, this.localeCookieArgs);\r\n return this.defaultLocale;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { Observable } from '../util/rxjs';\r\nimport { Localized, isLocalized, isLocalizedMoment } from './locale.model';\r\nimport { LocaleService } from './locale.service';\r\n\r\nconst collectTranslatedFields = (model: any): Localized[] => {\r\n if (isLocalized(model)) {\r\n return [model];\r\n }\r\n\r\n return Object.keys(model).reduce((all, key) => {\r\n const field = model[key];\r\n if (isLocalized(field)) {\r\n return [...all, field];\r\n }\r\n if (field != null && typeof field === 'object') {\r\n return [...all, ...collectTranslatedFields(field)];\r\n }\r\n return all\r\n }, [] as Localized[]);\r\n}\r\n\r\nconst normalizeTranslation = (translation: string | { [key: string]: string }) => {\r\n if (typeof translation === 'string') {\r\n return translation;\r\n }\r\n return Object.keys(translation)\r\n .reduce((values, key) => [...values, translation[key]], [] as string[])\r\n .sort((a, b) => a.localeCompare(b))\r\n .join(', ');\r\n}\r\n\r\n@Injectable()\r\nexport class LocalizedModelService {\r\n constructor(private translateService: TranslateService, private localeService: LocaleService) {}\r\n\r\n stream(model: T): Observable {\r\n return Observable.of(this.translate(model))\r\n .concat(this.localeService.locale$.map(() => this.translate(model)));\r\n }\r\n\r\n translate(model: T): T {\r\n collectTranslatedFields(model)\r\n .map(field => [field, this.getTranslation(field)])\r\n .forEach(pair => pair[0].label = normalizeTranslation(pair[1]));\r\n return model;\r\n }\r\n\r\n translateAll(model: T[]): T[] {\r\n return model.map(value => this.translate(value));\r\n }\r\n\r\n private getTranslation(field: Localized) {\r\n if (isLocalizedMoment(field)) {\r\n return this.localeService.formatMoment(field.value, field.localizationKey);\r\n }\r\n return this.translateService.instant(field.localizationKey, this.prepareLocalizationParams(field.localizationParams));\r\n }\r\n\r\n private prepareLocalizationParams(params: { [key: string]: any }) {\r\n if (!params) {\r\n return params;\r\n }\r\n\r\n const translatedParams = this.translate(params);\r\n return Object.keys(translatedParams)\r\n .reduce((newParams, paramName) => {\r\n const translatedParam = translatedParams[paramName];\r\n newParams[paramName] = isLocalized(translatedParam) ? translatedParam.label : translatedParam;\r\n return newParams;\r\n }, {} as { [key: string]: string });\r\n }\r\n}\r\n\r\n","import * as TimSort from 'timsort';\r\n\r\nimport { compareByLabel } from '../util/compare';\r\nimport { Subscription } from '../util/rxjs';\r\n\r\nimport { LocaleService } from './locale.service';\r\nimport { LocalizedModelService } from './localized-model.service';\r\n\r\nexport interface ModelFunctions {\r\n sort: (array: T[]) => T[];\r\n filter: (value: T) => boolean;\r\n exclude: (value: T) => boolean;\r\n}\r\n\r\nconst defaultModelFunctions: ModelFunctions = {\r\n sort: array => {\r\n TimSort.sort(array, (a, b) => compareByLabel(a, b, { descending: false }));\r\n return array;\r\n },\r\n filter: array => array.slice(),\r\n exclude: array => array.slice(),\r\n};\r\n\r\nexport class LocalizedModel {\r\n get data() {\r\n return this.result;\r\n }\r\n\r\n get rawData() {\r\n return this.original;\r\n }\r\n\r\n private functions: ModelFunctions;\r\n private updateSubscription: Subscription;\r\n\r\n private original: T[] | undefined;\r\n private result: T[] | undefined;\r\n\r\n constructor(localeService: LocaleService, private service: LocalizedModelService,\r\n functions: Partial> = defaultModelFunctions) {\r\n this.functions = {\r\n sort: functions.sort || defaultModelFunctions.sort,\r\n exclude: functions.exclude || defaultModelFunctions.exclude,\r\n filter: functions.filter || defaultModelFunctions.filter\r\n };\r\n this.updateSubscription = localeService.locale$.skip(1).subscribe(() => {\r\n this.onUpdate(this.original);\r\n });\r\n }\r\n\r\n onDestroy() {\r\n if (this.updateSubscription) {\r\n this.updateSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n onUpdate(data?: T[]) {\r\n this.original = this.translate(data);\r\n this.onUpdateExisting();\r\n }\r\n\r\n onUpdateExisting() {\r\n if (!this.original) {\r\n return;\r\n }\r\n\r\n this.result = this.original.filter(value => !this.functions.exclude(value) && this.functions.filter(value));\r\n this.result = this.functions.sort(this.result);\r\n }\r\n\r\n onSort() {\r\n if (this.result) {\r\n this.result = this.functions.sort(this.result);\r\n }\r\n }\r\n\r\n private translate(data: T[] | undefined): T[] | undefined {\r\n return data && this.service.translateAll(data);\r\n }\r\n}\r\n","import { IdentityProviderInfo } from \"./identity-provider-info.model\";\r\nimport { LoginOption } from \"./login-option.model\";\r\nimport { ServerVersion } from \"./server-version.model\";\r\n\r\nexport class LoginConfig {\r\n version: ServerVersion;\r\n registrationEnabled: boolean;\r\n enterpriseUseCase: boolean;\r\n portalEnabled: boolean;\r\n loginOption: LoginOption;\r\n identityProviderInfos: IdentityProviderInfo[] = [];\r\n \r\n constructor(config: config.LoginConfig) {\r\n this.version = new ServerVersion(config.ServerVersion);\r\n this.registrationEnabled = config.RegistrationEnabled;\r\n this.enterpriseUseCase = config.EnterpriseUseCase;\r\n this.portalEnabled = config.PortalEnabled;\r\n this.loginOption = config.LoginOption;\r\n this.identityProviderInfos = config.IdentityProviderInfos.map(idpInfo => new IdentityProviderInfo(idpInfo));\r\n }\r\n}\r\n","export enum LoginOption {\r\n MemoQ = 0,\r\n SSO = 1,\r\n Both = 2\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport './util/rxjs';\r\n\r\nimport { UserService } from './user/user.service';\r\n\r\n@Injectable()\r\nexport class ManagerGuard {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return this.userService.user$.map(user => {\r\n if (!user.isManager) {\r\n this.router.navigate(['/people']);\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n }\r\n}\r\n\r\n\r\n","export interface MenuRouteChild {\r\n name: string;\r\n matchUrl: string[];\r\n manager?: boolean;\r\n}\r\n\r\nexport interface MenuRoute {\r\n name: string;\r\n matchUrl: string[];\r\n children: MenuRouteChild[];\r\n manager?: boolean;\r\n}\r\n\r\nconst menuRouteDefinition: MenuRoute[] = [{\r\n name: 'Menu.translationJobs',\r\n matchUrl: ['translation-jobs'],\r\n children: [{\r\n name: 'Menu.dashboard',\r\n matchUrl: ['dashboard']\r\n }, {\r\n name: 'Menu.quotes',\r\n matchUrl: ['quotes', 'pending']\r\n }, {\r\n name: 'Menu.runningProjects',\r\n matchUrl: ['projects', 'in-progress']\r\n }, {\r\n name: 'Menu.finishedProjects',\r\n matchUrl: ['projects', 'finished']\r\n }, {\r\n name: 'Menu.cancelled',\r\n matchUrl: ['quotes', 'cancelled']\r\n }]\r\n}, {\r\n name: 'Menu.people',\r\n matchUrl: ['people'],\r\n children: [{\r\n name: 'Menu.contact',\r\n matchUrl: ['contact']\r\n }, {\r\n name: 'Menu.team',\r\n matchUrl: ['team'],\r\n manager: true\r\n }, {\r\n name: 'Menu.profile',\r\n matchUrl: ['profile']\r\n }]\r\n}];\r\n\r\nconst menuRoutes: MenuRoute[] = menuRouteDefinition.map(parent => ({\r\n ...parent,\r\n children: parent.children.map(child => ({\r\n ...child,\r\n matchUrl: [...parent.matchUrl, ...child.matchUrl]\r\n }))\r\n}));\r\n\r\nexport { menuRoutes };\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport 'rxjs/add/operator/filter';\r\n\r\nimport { LocaleService } from '../locale/locale.service';\r\nimport { User } from '../user/user.model';\r\nimport { UserService } from '../user/user.service';\r\nimport { Observable } from '../util/rxjs';\r\n\r\nimport { MenuRoute, MenuRouteChild, menuRoutes } from './client-route';\r\n\r\n@Component({\r\n selector: 'cp-nav',\r\n templateUrl: './nav.component.html',\r\n styleUrls: ['./nav.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class NavComponent implements OnInit {\r\n user$: Observable;\r\n locale$: Observable;\r\n menuItems: MenuRoute[];\r\n subMenuItems?: MenuRouteChild[];\r\n\r\n languages = ['en', 'de', 'ja', 'es', 'fr', 'hu', 'zh-Hans'];\r\n\r\n constructor(\r\n private router: Router,\r\n private userService: UserService,\r\n private localeService: LocaleService,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.menuItems = menuRoutes;\r\n this.user$ = userService.user$;\r\n this.locale$ = localeService.locale$;\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events.filter(event => event instanceof NavigationEnd).subscribe(event => {\r\n const activeLink = this.menuItems.find(item =>\r\n this.router.isActive(item.matchUrl.join('/'), false)\r\n );\r\n this.subMenuItems = activeLink && activeLink.children;\r\n this.cd.detectChanges();\r\n });\r\n }\r\n\r\n logout() {\r\n this.userService.logout().subscribe(() => this.logoutUI(), () => this.logoutUI());\r\n }\r\n\r\n setLocale(locale: string) {\r\n this.localeService.setLocale(locale);\r\n }\r\n\r\n private logoutUI() {\r\n this.userService.setAnonymous();\r\n this.router.navigate(['/login']);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{user.name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n {{'Dashboard.startJob' | translate}}\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\r\n\r\nexport type PageType = 'regular' | 'account';\r\n\r\n@Component({\r\n selector: 'cp-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PageComponent implements OnInit {\r\n @Input()\r\n header: string;\r\n\r\n @Input()\r\n subHeader?: string;\r\n\r\n @Input()\r\n fixedWidth?: string;\r\n\r\n @Input()\r\n type: PageType = 'regular'\r\n\r\n @HostBinding('style.flex')\r\n flex: string;\r\n\r\n @HostBinding('style.padding')\r\n padding: string;\r\n\r\n ngOnInit() {\r\n this.flex = this.fixedWidth ? `0 0 ${this.fixedWidth}` : `1 1 auto`;\r\n this.padding = `${this.type === 'account' ? 96 : 16}px 96px`;\r\n }\r\n}\r\n","

\r\n {{header | translate}}\r\n

\r\n

\r\n {{subHeader | translate}}\r\n

\r\n\r\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, Input } from '@angular/core';\r\n\r\nimport { TableComponent } from '../table/table.component';\r\n\r\n@Component({\r\n selector: 'cp-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PanelComponent implements AfterContentInit {\r\n @Input()\r\n header: string;\r\n\r\n @Input()\r\n disableAutoTable = false;\r\n\r\n @ContentChild(TableComponent)\r\n tableContent?: TableComponent;\r\n\r\n table = false;\r\n\r\n ngAfterContentInit() {\r\n if (this.tableContent && !this.disableAutoTable) {\r\n this.table = true;\r\n this.tableContent.panel = true;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n
{{header | translate}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nexport interface Progress {\r\n label: string;\r\n value: number;\r\n}\r\n\r\n@Component({\r\n selector: 'cp-progress',\r\n templateUrl: './progress.component.html',\r\n styleUrls: ['./progress.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProgressComponent {\r\n @Input()\r\n progress: {\r\n first: Progress,\r\n second: Progress,\r\n third: Progress\r\n };\r\n}\r\n\r\n\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{progress.first.label | translate:{value:progress.first.value} }}
\r\n
{{progress.second.label | translate:{value:progress.second.value} }}
\r\n
{{progress.third.label | translate:{value:progress.third.value} }}
\r\n
\r\n
\r\n","export class ServerVersion {\r\n memoQ: string;\r\n customerPortal: string;\r\n \r\n constructor(version: config.ServerVersion) {\r\n this.memoQ = version.MemoQServerVersion;\r\n this.customerPortal = version.CustomerPortalVersion;\r\n }\r\n }","export * from './table-body-row.component';\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { Action, isActionVisibiltyCompatible } from '../../action.model';\r\nimport { isLabelledValue } from '../../util';\r\nimport { ColumnComponent } from '../column.component';\r\nimport { InlineAction, TableRow } from '../shared';\r\n\r\nconst actionClasses = ['mod-actions-1', 'mod-actions-2', 'mod-actions-3', 'mod-actions-4'];\r\n\r\n@Component({\r\n selector: 'tr[cp-row]',\r\n template: `\r\n \r\n \r\n \r\n \r\n\r\n \r\n 0\"\r\n class=\"table-column table-body-column mod-actions\"\r\n [ngClass]=\"actionClass\">\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n {{getDisplayedValue(row, column)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TableBodyRowComponent {\r\n @Input()\r\n row: TableRow;\r\n\r\n @Input()\r\n hasSecondaryRow: boolean;\r\n\r\n @Input()\r\n columns: ColumnComponent[];\r\n\r\n @Input()\r\n selection: Map;\r\n\r\n @Input()\r\n hideSelection?: boolean;\r\n\r\n @Input()\r\n hideActions?: boolean;\r\n\r\n @Input()\r\n inlineActions: Array>;\r\n\r\n @Input()\r\n panel?: boolean;\r\n\r\n @Output()\r\n toggleSelection = new EventEmitter();\r\n\r\n @Output()\r\n inlineAction = new EventEmitter>();\r\n\r\n isSelected(row: TableRow) {\r\n return this.selection.has(row.key);\r\n }\r\n\r\n isActionVisible(action: Action, row: TableRow) {\r\n return (!this.selection.has(row.key) && action.isVisible(row)) ||\r\n this.selection.size > 0 && isActionVisibiltyCompatible(action, row, this.selection);\r\n }\r\n\r\n getName(action: Action, value: TableRow) {\r\n return typeof action.name === 'function' ? action.name(value) : action.name;\r\n }\r\n\r\n getIcon(action: Action, value: TableRow) {\r\n return typeof action.icon === 'function' ? action.icon(value) : action.icon;\r\n }\r\n\r\n onInlineAction(inlineAction: InlineAction, $event: Event) {\r\n $event.stopPropagation();\r\n this.inlineAction.emit(inlineAction);\r\n }\r\n\r\n get actionClass() {\r\n return actionClasses[this.inlineActions.length - 1];\r\n }\r\n\r\n getColumnClass(column: ColumnComponent) {\r\n const bodyClass = column.calculateBodyClass(this.row);\r\n return column.bodyClass\r\n ? `${column.columnClass} ${bodyClass}`\r\n : column.columnClass;\r\n }\r\n\r\n getDisplayedValue(row: TableRow, column: ColumnComponent) {\r\n const field = row.$$fields[column.field!];\r\n if (isLabelledValue(field)) {\r\n return field.label;\r\n }\r\n return field;\r\n }\r\n\r\n trackColumn = (index: number, item: ColumnComponent) => {\r\n return index;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { Action } from '../../action.model';\r\nimport { TableRow } from '../../model';\r\nimport { ColumnComponent } from '../column.component';\r\nimport { InlineAction } from '../shared';\r\n\r\n@Component({\r\n selector: 'tbody[cp-body]',\r\n templateUrl: './table-body.component.html',\r\n styleUrls: [\r\n './table-body.component.less'\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TableBodyComponent {\r\n @Input()\r\n row: TableRow;\r\n\r\n @Input()\r\n columns: ColumnComponent[];\r\n\r\n @Input()\r\n selection: Map;\r\n\r\n @Input()\r\n inlineActions: Array>;\r\n\r\n @Input()\r\n hideActions?: boolean;\r\n\r\n @Input()\r\n panel?: boolean;\r\n\r\n @Input()\r\n hideSelection?: boolean;\r\n\r\n @Input()\r\n secondaryRow?: TemplateRef;\r\n\r\n @Input()\r\n rowClass?: string;\r\n\r\n @Output()\r\n toggleSelection = new EventEmitter();\r\n\r\n @Output()\r\n inlineAction = new EventEmitter>();\r\n\r\n constructor(public element: ElementRef) {\r\n }\r\n\r\n get isSelected() {\r\n return this.selection.has(this.row.key);\r\n }\r\n}\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, ContentChild, Input, TemplateRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cp-column',\r\n template: ``\r\n})\r\nexport class ColumnComponent {\r\n @Input()\r\n header?: string;\r\n\r\n @Input()\r\n field?: string;\r\n\r\n @Input()\r\n filter?: boolean;\r\n\r\n @Input()\r\n sortable = true;\r\n\r\n @Input()\r\n columnClass?: string;\r\n\r\n @Input()\r\n headerClass?: string;\r\n\r\n @Input()\r\n bodyClass?: string | ((row: any) => string | { [key: string]: boolean });\r\n\r\n @Input()\r\n sortByLabel?: boolean;\r\n\r\n @ContentChild(TemplateRef)\r\n template?: TemplateRef;\r\n\r\n calculateBodyClass(row: any) {\r\n if (!this.bodyClass) {\r\n return this.bodyClass;\r\n }\r\n\r\n return typeof this.bodyClass === 'string'\r\n ? this.bodyClass\r\n : this.bodyClass(row);\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { Action } from '../../action.model';\r\nimport { TableRow } from '../../model';\r\nimport { ColumnComponent } from '../column.component';\r\nimport { TableSortKey } from '../shared';\r\n\r\nconst regular = {};\r\nconst sortable = { 'icon-sort': true };\r\nconst ascending = { 'icon-sort': true, 'icon-sort-ascending': true };\r\nconst descending = { 'icon-sort': true, 'icon-sort-descending': true };\r\n\r\nconst actionClasses = ['mod-actions-1', 'mod-actions-2', 'mod-actions-3', 'mod-actions-4'];\r\n\r\n@Component({\r\n selector: 'thead[cp-head]',\r\n templateUrl: './table-header.component.html',\r\n styleUrls: [\r\n './table-header.component.less'\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TableHeaderComponent {\r\n @Input()\r\n columns: ColumnComponent[];\r\n\r\n @Input()\r\n inlineActions: Array>;\r\n\r\n @Input()\r\n hideActions?: boolean;\r\n\r\n @Input()\r\n sortedBy: TableSortKey;\r\n\r\n @Input()\r\n isAllSelected: boolean;\r\n\r\n @Input()\r\n panel?: boolean;\r\n\r\n @Input()\r\n hideSelection?: boolean;\r\n\r\n @Output()\r\n toggleAll = new EventEmitter();\r\n\r\n @Output()\r\n sort = new EventEmitter();\r\n\r\n get actionClass() {\r\n return actionClasses[this.inlineActions.length - 1];\r\n }\r\n\r\n getColumnClass(column: ColumnComponent) {\r\n return column.headerClass\r\n ? `${column.columnClass} ${column.headerClass}`\r\n : column.columnClass;\r\n }\r\n\r\n getSortIcon(column: ColumnComponent) {\r\n const isCurrentSortKey = this.sortedBy.key === column;\r\n\r\n if (isCurrentSortKey) {\r\n return this.sortedBy.descending ? descending : ascending;\r\n } else {\r\n return column.sortable ? sortable : regular;\r\n }\r\n }\r\n}\r\n\r\n\r\n","\r\n \r\n \r\n \r\n \r\n\r\n \r\n 0\"\r\n class=\"table-column table-header-column mod-actions\"\r\n [ngClass]=\"actionClass\">\r\n {{'Common.ops' | translate}}\r\n \r\n\r\n \r\n \r\n
\r\n {{column.header | translate}}\r\n \r\n
\r\n \r\n\r\n","import {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport * as TimSort from 'timsort';\r\n\r\nimport { Action, ContextAction, filterRegularActions } from '../action.model';\r\nimport { ContextMenuService } from '../context-menu/context-menu.service';\r\nimport { PageChangeEvent } from '../controls/paginator/paginator.component';\r\nimport { LocaleService } from '../locale/locale.service';\r\nimport { LocalizedModel } from '../locale/localized-model';\r\nimport { LocalizedModelService } from '../locale/localized-model.service';\r\nimport { compareByLabel, compareByValue, partialMatches, isLabelledValue } from '../util/compare';\r\nimport { Subscription } from '../util/rxjs';\r\nimport { TableBodyComponent } from './body/table-body.component';\r\nimport { ColumnComponent } from './column.component';\r\nimport { InlineAction, TableRow, TableSortKey } from './shared';\r\n\r\n@Component({\r\n selector: 'cp-table',\r\n templateUrl: './table.component.html',\r\n styleUrls: [\r\n './table.component.less',\r\n './themes/regular.less',\r\n './themes/dashboard.less',\r\n './themes/small.less'\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TableComponent implements AfterContentInit, OnChanges, OnInit, OnDestroy {\r\n @Input() theme: string;\r\n\r\n @Input() autoColumns?: boolean;\r\n\r\n @Input() actions?: Array>;\r\n\r\n @Input() hideHeaders?: boolean;\r\n\r\n @Input() hideSelection?: boolean;\r\n\r\n @Input() hideActions = false;\r\n\r\n @Input() filter?: boolean;\r\n\r\n @Input() dropdownFilter: string;\r\n\r\n @Input() pagination?: number;\r\n\r\n @Input() dropdownFilterPlaceholder: string;\r\n\r\n @Input() rowClass?: string;\r\n\r\n @Input() panel = false;\r\n\r\n @Input() rows: TableRow[];\r\n\r\n @Input() tooltip: TemplateRef;\r\n\r\n @Output() rowClick = new EventEmitter();\r\n\r\n @ContentChild('secondaryRow') secondaryRow: TemplateRef;\r\n\r\n @ContentChild('caption') caption: TemplateRef;\r\n\r\n @ContentChildren(ColumnComponent, {descendants: true}) columns: QueryList;\r\n\r\n inlineActions?: Array>;\r\n localizedModel: LocalizedModel;\r\n\r\n visibleRows?: TableRow[];\r\n filterValue: string;\r\n dropdownFilterOptions?: any[];\r\n\r\n private filterSubscription: Subscription;\r\n private dropdownFilterValue: any[];\r\n\r\n private startIndex = 0;\r\n private endIndex?: number;\r\n\r\n private sortedBy: TableSortKey = { key: undefined, descending: false };\r\n private selection = new Map();\r\n private visibleSelection = new Map();\r\n\r\n get modelRows() {\r\n return this.localizedModel.data;\r\n }\r\n\r\n get tableClass() {\r\n return `table table-${this.theme}`;\r\n }\r\n\r\n get isAllSelected() {\r\n if (!this.visibleRows || this.visibleRows.length !== this.visibleSelection.size) {\r\n return false;\r\n }\r\n\r\n return this.visibleRows.every(row => this.visibleSelection.has(row.key));\r\n }\r\n\r\n get showPaginator() {\r\n return !!this.pagination && !!this.modelRows && this.modelRows.length > this.pagination;\r\n }\r\n\r\n constructor(\r\n private modelTranslator: LocalizedModelService,\r\n private localeService: LocaleService,\r\n private contextMenu: ContextMenuService,\r\n private cd: ChangeDetectorRef\r\n ) {\r\n this.localizedModel = new LocalizedModel(this.localeService, this.modelTranslator, {\r\n exclude: value => {\r\n if (\r\n !this.dropdownFilter ||\r\n !this.dropdownFilterValue ||\r\n this.dropdownFilterValue.length === 0\r\n ) {\r\n return false;\r\n }\r\n\r\n return this.isExcluded(value);\r\n },\r\n sort: data => {\r\n TimSort.sort(data, this.tableSortFunction);\r\n return data;\r\n },\r\n filter: value => this.isIncluded(value)\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.endIndex = this.pagination;\r\n this.localizedModel.onUpdate(this.rows);\r\n this.inlineActions = filterRegularActions(this.actions);\r\n this.updatePaginatedRows();\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.preprocessRows();\r\n this.cd.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.localizedModel) {\r\n this.localizedModel.onDestroy();\r\n }\r\n\r\n if (this.filterSubscription) {\r\n this.filterSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const rows = changes['rows'];\r\n const actions = changes['actions'];\r\n if (rows) {\r\n this.preprocessRows();\r\n this.localizedModel.onUpdate(rows.currentValue);\r\n this.updateDropdownFilterOptions(rows.currentValue);\r\n this.pruneSelections();\r\n this.updatePaginatedRows();\r\n }\r\n if (actions) {\r\n this.inlineActions = filterRegularActions(actions.currentValue);\r\n }\r\n }\r\n\r\n identify(_index: number, item: TableRow) {\r\n return item.key;\r\n }\r\n\r\n onPageChange(event: PageChangeEvent) {\r\n this.startIndex = event.startIndex;\r\n this.endIndex = event.endIndex;\r\n this.updatePaginatedRows();\r\n this.pruneVisibleSelections();\r\n }\r\n\r\n onDropdownFilterChange(value: any[]) {\r\n if (value !== this.dropdownFilterValue) {\r\n this.dropdownFilterValue = value;\r\n this.localizedModel.onUpdateExisting();\r\n this.pruneVisibleSelections();\r\n this.updatePaginatedRows();\r\n }\r\n }\r\n\r\n onFilterChange(value: string) {\r\n this.filterValue = value;\r\n this.localizedModel.onUpdateExisting();\r\n this.pruneVisibleSelections();\r\n this.updatePaginatedRows();\r\n }\r\n\r\n onSort(column: ColumnComponent) {\r\n if (!column.sortable || !column.field) {\r\n return;\r\n }\r\n\r\n if (this.sortedBy.key !== column) {\r\n this.sortedBy = { key: column, descending: false };\r\n } else {\r\n this.sortedBy.descending = !this.sortedBy.descending;\r\n }\r\n this.localizedModel.onSort();\r\n this.updatePaginatedRows();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onContextMenu(row: TableRow, host: TableBodyComponent, $event: MouseEvent) {\r\n if (!this.actions) {\r\n return;\r\n }\r\n\r\n if (!this.isSelected(row) && !this.hideActions) {\r\n this.selection = new Map([[row.key, row]]);\r\n this.visibleSelection = new Map([[row.key, row]]);\r\n }\r\n\r\n this.contextMenu.show($event, host.element.nativeElement, this.actions, row);\r\n }\r\n\r\n onActionClicked(inlineAction: InlineAction) {\r\n const { row, action } = inlineAction;\r\n if (!this.isSelected(row)) {\r\n this.selection = new Map([[row.key, row]]);\r\n this.visibleSelection = new Map([[row.key, row]]);\r\n }\r\n\r\n if (action.type === 'executed') {\r\n action.execute(row, Array.from(this.visibleSelection.values()));\r\n }\r\n }\r\n\r\n isSelected(row: TableRow) {\r\n return this.selection.has(row.key);\r\n }\r\n\r\n toggleSelection(row: TableRow) {\r\n if (this.isSelected(row)) {\r\n this.selection.delete(row.key);\r\n this.visibleSelection.delete(row.key);\r\n } else {\r\n this.selection.set(row.key, row);\r\n this.visibleSelection.set(row.key, row);\r\n }\r\n }\r\n\r\n toggleAll() {\r\n if (!this.visibleRows) {\r\n return;\r\n }\r\n\r\n this.selection = new Map(this.selection);\r\n this.visibleSelection = new Map(this.visibleSelection);\r\n\r\n const hasSelection = this.visibleRows.some(row => this.selection.has(row.key));\r\n if (hasSelection) {\r\n for (const row of this.visibleRows) {\r\n this.selection.delete(row.key);\r\n this.visibleSelection.delete(row.key);\r\n }\r\n } else {\r\n for (const row of this.visibleRows) {\r\n this.selection.set(row.key, row);\r\n this.visibleSelection.set(row.key, row);\r\n }\r\n }\r\n }\r\n\r\n onRowClick(row: TableRow) {\r\n if (window && window.getSelection && window.getSelection()?.toString()) {\r\n return;\r\n }\r\n this.rowClick.emit(row);\r\n }\r\n\r\n private preprocessRows() {\r\n if (!this.rows || !this.columns) {\r\n return;\r\n }\r\n for (const row of this.rows) {\r\n row.$$fields = {};\r\n\r\n this.columns.forEach(column => {\r\n if (column.field && !row.$$fields[column.field]) {\r\n row.$$fields[column.field] = this.getField(row, column);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private getField(row: TableRow, column: ColumnComponent) {\r\n return column.field && this.resolveFieldByName(row, column.field);\r\n }\r\n\r\n private resolveFieldByName(row: TableRow, fieldName: string) {\r\n const path = fieldName.split('.');\r\n if (path.length === 1) {\r\n return row[path[0]];\r\n }\r\n return path.reduce((current, field) => current[field], row);\r\n }\r\n\r\n private updateDropdownFilterOptions(rows?: TableRow[]) {\r\n if (!this.dropdownFilter) {\r\n return;\r\n }\r\n\r\n this.dropdownFilterOptions =\r\n rows &&\r\n Array.from(\r\n new Map(\r\n rows.map<[any, any]>(row => {\r\n const field = this.resolveFieldByName(row, this.dropdownFilter);\r\n const key = isLabelledValue(field) ? field.label : field;\r\n return [key, field];\r\n })\r\n ).values()\r\n ).sort(compareByLabel);\r\n }\r\n\r\n private get tableSortFunction(): ((a: TableRow, b: TableRow) => number) | undefined {\r\n if (!this.sortedBy.key) {\r\n return undefined;\r\n }\r\n\r\n const column = this.sortedBy.key;\r\n const descending = this.sortedBy.descending;\r\n\r\n if (!column.field) {\r\n return undefined;\r\n }\r\n\r\n return column.sortByLabel\r\n ? (a, b) =>\r\n compareByLabel(a.$$fields[column.field!], b.$$fields[column.field!], { descending })\r\n : (a, b) =>\r\n compareByValue(a.$$fields[column.field!], b.$$fields[column.field!], { descending });\r\n }\r\n\r\n private get isIncluded() {\r\n return (row: TableRow) =>\r\n !this.filterValue ||\r\n this.columns.some(\r\n column =>\r\n !!column.filter &&\r\n partialMatches(row.$$fields[column.field!], this.filterValue, { ignoreCase: true })\r\n );\r\n }\r\n\r\n private get isExcluded() {\r\n return (row: TableRow) => {\r\n return (\r\n compareByValue(\r\n this.dropdownFilterValue[0].value,\r\n this.resolveFieldByName(row, this.dropdownFilter)\r\n ) !== 0\r\n );\r\n };\r\n }\r\n\r\n private pruneSelections() {\r\n if (this.selection.size === 0) {\r\n return;\r\n }\r\n\r\n if (!this.rows || this.rows.length === 0) {\r\n this.selection = new Map();\r\n this.visibleSelection = new Map();\r\n return;\r\n }\r\n\r\n const newSelection = new Map();\r\n const newVisibleSelection = new Map();\r\n\r\n const visibleRows = new Set(this.localizedModel.data!.map(v => v.key));\r\n for (const row of this.rows) {\r\n if (this.selection.has(row.key)) {\r\n newSelection.set(row.key, row);\r\n if (visibleRows.has(row.key)) {\r\n newVisibleSelection.set(row.key, row);\r\n }\r\n }\r\n }\r\n\r\n this.selection = newSelection;\r\n this.visibleSelection = newVisibleSelection;\r\n }\r\n\r\n private pruneVisibleSelections() {\r\n if (this.selection.size === 0) {\r\n return;\r\n }\r\n\r\n if (!this.rows || this.rows.length === 0) {\r\n this.visibleSelection = new Map();\r\n return;\r\n }\r\n\r\n this.visibleSelection = new Map(\r\n this.visibleRows!\r\n .filter(row => this.isSelected(row))\r\n .map(row => [row.key, row] as [string | number, TableRow])\r\n );\r\n }\r\n\r\n private updatePaginatedRows() {\r\n this.visibleRows =\r\n this.modelRows &&\r\n this.modelRows.slice(this.startIndex, this.endIndex || this.modelRows.length);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n 0\" [ngClass]=\"tableClass\" [class.mod-auto-columns]=\"autoColumns\">\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, TemplateRef } from '@angular/core';\r\n\r\nimport { Position as Position, TooltipOptions } from './tooltip.model';\r\n\r\n@Component({\r\n selector: 'cp-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.less'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TooltipComponent implements AfterViewInit {\r\n @Input()\r\n content: TemplateRef;\r\n\r\n @Input()\r\n parent: ElementRef;\r\n\r\n @Input()\r\n options: TooltipOptions;\r\n\r\n @Input()\r\n data: any;\r\n\r\n constructor(public elementRef: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.positionSelf();\r\n }\r\n\r\n private positionSelf() {\r\n const $element = this.elementRef.nativeElement as HTMLElement;\r\n const position = this.positionElements(this.parent.nativeElement, this.elementRef.nativeElement,\r\n this.options.position, this.options.margin);\r\n $element.className = `${this.options.position} ${this.options.popupClass}`;\r\n this.setPosition($element, position);\r\n }\r\n\r\n private positionElements(host: HTMLElement, target: HTMLElement,\r\n position: Position, margin: number = 0): { top: number, left: number } {\r\n let top: number;\r\n let left: number;\r\n\r\n const hostRect = host.getBoundingClientRect();\r\n const hostPosition = { top: hostRect.top + window.pageYOffset, left: hostRect.left + window.pageXOffset }\r\n switch (position) {\r\n case 'top':\r\n top = hostPosition.top - this.getInnerHeight(target) - margin;\r\n left = this.calculateHorizontalCenter(hostPosition, host, target);\r\n break;\r\n case 'bottom':\r\n top = hostPosition.top + this.getHeight(host) + margin;\r\n left = this.calculateHorizontalCenter(hostPosition, host, target);\r\n break;\r\n case 'left':\r\n top = this.calculateVerticalCenter(hostPosition, host, target);\r\n left = hostPosition.left - this.getInnerWidth(target) - margin;\r\n break;\r\n case 'right':\r\n top = this.calculateVerticalCenter(hostPosition, host, target);\r\n left = hostPosition.left + this.getWidth(host) + margin;\r\n break;\r\n default:\r\n throw new Error('Unexpected position');\r\n }\r\n\r\n return { top, left };\r\n }\r\n\r\n private calculateHorizontalCenter(hostPosition: { left: number, top: number }, host: HTMLElement, target: HTMLElement) {\r\n return hostPosition.left + (this.getWidth(host) / 2) - (this.getInnerWidth(target) / 2);\r\n }\r\n\r\n private calculateVerticalCenter(hostPosition: { left: number, top: number }, host: HTMLElement, target: HTMLElement) {\r\n return hostPosition.top + (this.getHeight(host) / 2) - (this.getInnerHeight(target) / 2);\r\n }\r\n\r\n private setPosition(element: HTMLElement, position: { top: number, left: number }) {\r\n element.style.top = `${position.top}px`;\r\n element.style.left = `${position.left}px`;\r\n }\r\n\r\n private getInnerHeight(element: HTMLElement) {\r\n const style = getComputedStyle(element);\r\n return element.offsetHeight - parseInt(style.borderTopWidth!, 10) - parseInt(style.borderBottomWidth!, 10);\r\n }\r\n\r\n private getHeight(element: HTMLElement) {\r\n const style = getComputedStyle(element);\r\n return this.getInnerHeight(element) - parseInt(style.paddingTop!, 10) - parseInt(style.paddingBottom!, 10);\r\n }\r\n\r\n private getInnerWidth(element: HTMLElement) {\r\n const style = getComputedStyle(element);\r\n return element.offsetWidth - parseInt(style.borderLeftWidth!, 10) - parseInt(style.borderRightWidth!, 10);\r\n }\r\n\r\n private getWidth(element: HTMLElement) {\r\n const style = getComputedStyle(element);\r\n return this.getInnerWidth(element) - parseInt(style.paddingLeft!, 10) - parseInt(style.paddingRight!, 10);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n","import {\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\n\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { TooltipOptions } from './tooltip.model';\r\n\r\n\r\n@Directive({\r\n selector: '[cpTooltip]'\r\n})\r\nexport class TooltipDirective implements OnInit, OnDestroy {\r\n @Input()\r\n cpTooltip: TemplateRef;\r\n\r\n @Input()\r\n data: any;\r\n\r\n @Input()\r\n tooltipEnabled = true;\r\n\r\n isHovering = false;\r\n tooltip: ComponentRef | undefined;\r\n\r\n private tooltipOptions: TooltipOptions;\r\n\r\n constructor(\r\n public elementRef: ElementRef,\r\n private cd: ChangeDetectorRef,\r\n private viewContainer: ViewContainerRef,\r\n private cfr: ComponentFactoryResolver) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.tooltipEnabled) {\r\n return;\r\n }\r\n\r\n const element = this.elementRef.nativeElement as HTMLElement;\r\n element.addEventListener('mouseenter', this.onMouseOver);\r\n element.addEventListener('mouseleave', this.onMouseOut);\r\n\r\n this.tooltipOptions = {\r\n position: 'top',\r\n hoverDelay: 500,\r\n margin: 0,\r\n popupClass: ''\r\n };\r\n }\r\n\r\n ngOnDestroy() {\r\n if (!this.tooltipEnabled) {\r\n return;\r\n }\r\n\r\n const element = this.elementRef.nativeElement as HTMLElement;\r\n element.removeEventListener('mouseenter', this.onMouseOver);\r\n element.removeEventListener('mouseleave', this.onMouseOut);\r\n }\r\n\r\n onMouseOver = () => {\r\n this.isHovering = true;\r\n if (!this.tooltip) {\r\n setTimeout(() => {\r\n if (this.isHovering && !this.tooltip) {\r\n this.showTooltip();\r\n }\r\n }, this.tooltipOptions.hoverDelay);\r\n }\r\n }\r\n\r\n onMouseOut = () => {\r\n this.isHovering = false;\r\n if (this.tooltip) {\r\n this.hideTooltip();\r\n }\r\n }\r\n\r\n private showTooltip() {\r\n if (!this.cpTooltip) {\r\n return;\r\n }\r\n\r\n const tooltipContentFactory = this.cfr.resolveComponentFactory(TooltipComponent);\r\n this.tooltip = this.viewContainer.createComponent(tooltipContentFactory);\r\n this.tooltip.instance.data = this.data;\r\n this.tooltip.instance.content = this.cpTooltip;\r\n this.tooltip.instance.parent = this.elementRef;\r\n this.tooltip.instance.options = this.tooltipOptions;\r\n this.cd.markForCheck();\r\n }\r\n\r\n private hideTooltip() {\r\n if (this.tooltip) {\r\n this.tooltip.destroy();\r\n }\r\n this.tooltip = undefined;\r\n }\r\n}\r\n","import { Localized } from '../locale/locale.model';\r\n\r\nexport const enum ContactRole {\r\n Requester,\r\n Observer,\r\n Manager\r\n}\r\n\r\nexport type LocalizedContactRole = Localized;\r\nexport const convertContactRole = (role: accounts.ContactRole): LocalizedContactRole => {\r\n const value = (role as number) as ContactRole;\r\n switch (value) {\r\n case ContactRole.Requester:\r\n return { value, localizationKey: 'ContactRole.requester' };\r\n case ContactRole.Observer:\r\n return { value, localizationKey: 'ContactRole.observer' };\r\n case ContactRole.Manager:\r\n return { value, localizationKey: 'ContactRole.manager' };\r\n default:\r\n throw new Error('Invalid contact role');\r\n }\r\n};\r\n\r\nexport const getLocalizedContactRole = (role: ContactRole) => convertContactRole(role as number);\r\n\r\nexport interface LoginRequest {\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport interface PasswordChange {\r\n email: string;\r\n oldPassword: string;\r\n newPassword: string;\r\n}\r\n\r\nexport class PmInfo {\r\n name: string;\r\n emailAddress: string;\r\n\r\n constructor(info: accounts.PmInfo) {\r\n this.name = info.Name;\r\n this.emailAddress = info.EmailAddress;\r\n }\r\n}\r\n\r\nexport class User {\r\n readonly isAuthenticated: boolean;\r\n name?: string;\r\n email?: string;\r\n role?: LocalizedContactRole;\r\n\r\n constructor(\r\n isAuthenticated: boolean,\r\n name?: string,\r\n email?: string,\r\n role?: LocalizedContactRole\r\n ) {\r\n this.isAuthenticated = isAuthenticated;\r\n this.name = name;\r\n this.email = email;\r\n this.role = role;\r\n }\r\n\r\n get isRequester() {\r\n return !!this.role && this.role.value === ContactRole.Requester;\r\n }\r\n\r\n get isObserver() {\r\n return !!this.role && this.role.value === ContactRole.Observer;\r\n }\r\n\r\n get isManager() {\r\n return !!this.role && this.role.value === ContactRole.Manager;\r\n }\r\n}\r\n\r\nexport class OidcLoginParameters {\r\n loginId: string;\r\n loginIdHash: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Observable, ReplaySubject } from '../util/rxjs';\r\n\r\nimport { CallOptions, HttpService } from '../http.service';\r\nimport { LoginRequest, PasswordChange, PmInfo, User, convertContactRole } from './user.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n user$: Observable;\r\n private userStream = new ReplaySubject(1);\r\n\r\n constructor(private http: HttpService, router: Router) {\r\n this.http.authorizationErrors$.subscribe(() => {\r\n this.setAnonymous();\r\n router.navigate(['login'], { queryParams: { url: encodeURIComponent(router.url) } });\r\n });\r\n this.http.roleErrors$.subscribe(() => this.updateRole());\r\n\r\n this.user$ = this.userStream.asObservable();\r\n }\r\n\r\n update(user: User) {\r\n this.userStream.next(user);\r\n }\r\n\r\n setFromProfile(profile: accounts.UserProfile) {\r\n const user = new User(\r\n profile.IsAuthenticated,\r\n profile.Name,\r\n profile.Email,\r\n convertContactRole(profile.Role)\r\n );\r\n this.update(user);\r\n }\r\n\r\n setAnonymous() {\r\n this.update(new User(false));\r\n }\r\n\r\n login(request: LoginRequest) {\r\n return this.http.post(\r\n 'account/login',\r\n {\r\n EMail: request.email,\r\n Password: request.password\r\n },\r\n {\r\n redirectOnUnauthorized: false,\r\n emitGlobalError: false,\r\n rethrowError: true\r\n }\r\n );\r\n }\r\n\r\n confirmLogin() {\r\n return this.http.post(\r\n 'account/login/confirm',\r\n {},\r\n {\r\n redirectOnUnauthorized: false,\r\n emitGlobalError: false,\r\n rethrowError: true\r\n }\r\n );\r\n }\r\n\r\n logout() {\r\n return this.http.post(\r\n 'account/logout',\r\n {},\r\n {\r\n rethrowError: true\r\n }\r\n );\r\n }\r\n\r\n logoutWithOptions(options?: CallOptions) {\r\n return this.http.post('account/logout', {}, options);\r\n }\r\n\r\n updateRole() {\r\n Observable.race(\r\n this.user$\r\n .take(1)\r\n .zip(this.http.get('account/me/role', { emitRoleError: false }))\r\n .map(\r\n ([user, role]) =>\r\n new User(user.isAuthenticated, user.name, user.email, convertContactRole(role))\r\n ),\r\n this.user$.skip(1).take(1)\r\n ).subscribe(user => this.userStream.next(user));\r\n }\r\n\r\n getCurrentUser() {\r\n return this.http.get('account/me', {\r\n rethrowError: true\r\n });\r\n }\r\n\r\n listPMs() {\r\n return this.http\r\n .get('account/me/pm')\r\n .pipe(\r\n map(infos => infos.map(info => new PmInfo(info)))\r\n ); \r\n }\r\n\r\n changePassword(request: PasswordChange) {\r\n return this.http.post(\r\n 'account/change',\r\n {\r\n Email: request.email,\r\n NewPassword: request.newPassword,\r\n OldPassword: request.oldPassword\r\n }\r\n );\r\n }\r\n\r\n getOidcAuthParameters() {\r\n return this.http.get(\r\n 'account/oidc-auth-parameters',\r\n {\r\n redirectOnUnauthorized: false,\r\n emitGlobalError: false,\r\n rethrowError: true\r\n }\r\n );\r\n }\r\n\r\n oidcLogin(loginId: string) {\r\n return this.http.post<{}, accounts.OidcLoginParameters>(\r\n 'account/oidc-login',\r\n {\r\n LoginId: loginId,\r\n },\r\n {\r\n redirectOnUnauthorized: false,\r\n emitGlobalError: false,\r\n rethrowError: true\r\n }\r\n )\r\n }\r\n}\r\n","export const except = (values: T[], exclude: T[], comparer = (a: T, b: T) => a === b) => {\r\n return values.filter(value => exclude.findIndex(e => comparer(value, e)) === -1);\r\n}\r\n\r\nexport const intersect = (first: T[], second: T[], comparer = (a: T, b: T) => a === b) => {\r\n return first.filter(f => second.findIndex(s => comparer(f, s)) !== -1);\r\n}\r\n","export type CommonType = number | string | moment.Moment | undefined | null;\r\n\r\nexport interface LabelledValue {\r\n value: any;\r\n label: string;\r\n}\r\n\r\nexport const isLabelledValue = (type: any): type is LabelledValue => {\r\n return type != null && typeof type === 'object' && type.hasOwnProperty('label');\r\n}\r\n\r\nexport const hasValue = (type: any): type is { value: any } => {\r\n return type != null && typeof type === 'object' && type.hasOwnProperty('value');\r\n}\r\n\r\nexport const compare = (a: CommonType, b: CommonType, { descending } = { descending: false }): number => {\r\n const sortOrder = descending ? -1 : 1;\r\n if (a == null && b == null) {\r\n return 0;\r\n }\r\n if (a == null && b != null) {\r\n return -1 * sortOrder;\r\n }\r\n if (a != null && b == null) {\r\n return 1 * sortOrder;\r\n }\r\n\r\n if (typeof a === 'number' && typeof b === 'number') {\r\n return (a - b) * sortOrder;\r\n }\r\n\r\n if (typeof a === 'string' && typeof b === 'string') {\r\n return a.localeCompare(b) * sortOrder;\r\n }\r\n\r\n if (moment.isMoment(a) && moment.isMoment(b)) {\r\n return a.isSame(b)\r\n ? 0\r\n : (a.isAfter(b) ? 1 : -1) * sortOrder;\r\n }\r\n\r\n throw new Error('Cannot compare values');\r\n}\r\n\r\nexport const compareByLabel = (a: Partial, b: Partial, { descending } = { descending: false }): number => {\r\n if (isLabelledValue(a) && isLabelledValue(b)) {\r\n return compare(a.label, b.label, { descending });\r\n }\r\n return compare(a as any, b as any, { descending });\r\n}\r\n\r\nexport const compareByValue = (a: any, b: any, { descending } = { descending: false }): number => {\r\n if (hasValue(a) && hasValue(b)) {\r\n return compare(a.value, b.value, { descending });\r\n }\r\n if (hasValue(a) && !hasValue(b)) {\r\n return compare(a.value, b, { descending });\r\n }\r\n if (!hasValue(a) && hasValue(b)) {\r\n return compare(a, b.value, { descending });\r\n }\r\n return compare(a, b, { descending });\r\n}\r\n\r\nexport const partialMatches = (a: string | number | LabelledValue,\r\n b: string | number | LabelledValue,\r\n { ignoreCase }: { ignoreCase: boolean }) => {\r\n if (a == null) {\r\n return false;\r\n }\r\n\r\n if (typeof a === 'number' && typeof b === 'number') {\r\n return a === b;\r\n }\r\n\r\n let lhs = isLabelledValue(a) ? a.label : a.toString();\r\n let rhs = isLabelledValue(b) ? b.label : b.toString();\r\n if (ignoreCase) {\r\n lhs = lhs.toLocaleLowerCase();\r\n rhs = rhs.toLocaleLowerCase();\r\n }\r\n\r\n return lhs.indexOf(rhs) !== -1;\r\n}\r\n","export * from './array';\r\nexport * from './compare';\r\nexport * from './rxjs';\r\nexport * from './time';\r\n\r\nexport function clamp(a: number, min: number, max: number) {\r\n return Math.max(Math.min(a, max), min);\r\n}\r\n","import 'rxjs/add/observable/defer';\r\nimport 'rxjs/add/observable/empty';\r\nimport 'rxjs/add/observable/from';\r\nimport 'rxjs/add/observable/interval';\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/observable/race';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/observable/timer';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/concat';\r\nimport 'rxjs/add/operator/debounceTime';\r\nimport 'rxjs/add/operator/delay';\r\nimport 'rxjs/add/operator/distinctUntilChanged';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/mapTo';\r\nimport 'rxjs/add/operator/merge';\r\nimport 'rxjs/add/operator/mergeMap';\r\nimport 'rxjs/add/operator/reduce';\r\nimport 'rxjs/add/operator/skip';\r\nimport 'rxjs/add/operator/startWith';\r\nimport 'rxjs/add/operator/switchMap';\r\nimport 'rxjs/add/operator/take';\r\nimport 'rxjs/add/operator/zip';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nimport { VersionedData } from '../model';\r\n\r\nexport { Observable } from 'rxjs/Observable';\r\nexport { Observer } from 'rxjs/Observer';\r\nexport { Subject } from 'rxjs/Subject';\r\nexport { Subscription } from 'rxjs/Subscription';\r\nexport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nexport { ReplaySubject } from 'rxjs/ReplaySubject';\r\n\r\ntype Stream = Observable>;\r\ntype Fetch = () => Stream;\r\ntype IncrementalFetch = (version: number) => Stream;\r\n\r\nexport const pollGeneric = (\r\n pollingInterval: number,\r\n manualRefresh: Observable,\r\n initial: () => Observable,\r\n followUp: () => Observable\r\n) => {\r\n const poll = (data: T) =>\r\n Observable.interval(pollingInterval)\r\n .switchMap(() => followUp())\r\n .startWith(data);\r\n return initial()\r\n .concat(manualRefresh)\r\n .switchMap(poll);\r\n};\r\n\r\nexport const pollVersionedData = (\r\n pollingInterval: number,\r\n manualRefresh: Stream,\r\n initial: Fetch,\r\n followUp: IncrementalFetch\r\n) => {\r\n let version: number;\r\n return pollGeneric(pollingInterval, manualRefresh, initial, () =>\r\n followUp(version).filter(newData => newData.version > version)\r\n )\r\n .do(data => (version = data.version))\r\n .map(data => data.value);\r\n};\r\n","import { LocalizedMoment } from '../locale/locale.model';\r\n\r\nexport const momentUtcToLocal = (date: Date, format?: string): LocalizedMoment => {\r\n if (!date) {\r\n return { value: moment().subtract(1000, 'y'), localizationKey: 'Common.notAvailable' };\r\n }\r\n return {\r\n value: moment.utc(date).local(),\r\n localizationKey: format || 'L LT'\r\n };\r\n}\r\n\r\nexport const momentLocalToUtc = (date: moment.Moment): string => {\r\n return moment.utc(date).toISOString();\r\n}\r\n","import { Component, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ConfigurationService } from '../core/configuration.service';\r\nimport { DialogService } from '../core/dialog/dialog.service';\r\nimport { UserService } from '../core/user/user.service';\r\nimport { Observable, Subscription } from '../core/util/rxjs';\r\nimport { LocaleService } from '../core/locale/locale.service';\r\nimport { LoginConfig } from 'customer-portal/core/login-config.model';\r\nimport { LoginOption } from '../core/login-option.model';\r\n\r\n@Component({\r\n selector: 'cp-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.less']\r\n})\r\nexport class LoginComponent implements OnDestroy, OnInit {\r\n emailControl: UntypedFormControl;\r\n passwordControl: UntypedFormControl;\r\n form: UntypedFormGroup;\r\n\r\n validate = false;\r\n serverError: string | undefined;\r\n config$: Observable;\r\n hadUnsupportedLanguage$: Observable;\r\n\r\n loginOption = LoginOption;\r\n\r\n @Output()\r\n prefixLabel: string;\r\n\r\n private loginInProgress = false;\r\n private formSubscription: Subscription;\r\n\r\n constructor(private configuration: ConfigurationService, private userService: UserService,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n private localeService: LocaleService,\r\n private dialogService: DialogService, fb: UntypedFormBuilder) {\r\n this.emailControl = new UntypedFormControl('', [Validators.email]);\r\n this.passwordControl = new UntypedFormControl('', [Validators.required]);\r\n\r\n this.form = fb.group({\r\n email: this.emailControl,\r\n password: this.passwordControl\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.config$ = this.configuration.getLoginConfig(true);\r\n this.hadUnsupportedLanguage$ = this.localeService.hadUnsupportedLanguage$;\r\n this.serverError = undefined;\r\n\r\n this.prefixLabel = \"Login.logInWith\";\r\n\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params['oidc'] !== null && params['oidc'])\r\n {\r\n let loginId = localStorage.getItem(\"oidcLoginId\");\r\n if (loginId !== null && loginId !== \"\") {\r\n this.userService.oidcLogin(loginId).subscribe(\r\n () => this.confirmLogin(),\r\n error => this.handleLoginError(error));\r\n }\r\n }\r\n })\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.formSubscription) {\r\n this.formSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n isServerCompatible(config: LoginConfig) {\r\n const mqParts = config.version.memoQ.split('.');\r\n const cpParts = config.version.customerPortal.split('.');\r\n return mqParts[0] === cpParts[0] && mqParts[1] === cpParts[1];\r\n }\r\n\r\n login() {\r\n this.validate = true;\r\n if (!this.form.valid || this.loginInProgress) {\r\n return;\r\n }\r\n\r\n this.loginInProgress = true;\r\n this.userService.login(this.form.value).subscribe(\r\n () => this.confirmLogin(),\r\n error => this.handleLoginError(error));\r\n }\r\n\r\n oidcAuth(oidcName: string) {\r\n this.userService.getOidcAuthParameters().subscribe(oidcAuthParameters => {\r\n // store oidcLoginParameters.LoginId and OidcLoginParameters.LoginIdHash in locale storage for later use\r\n localStorage.setItem(\"oidcLoginId\", oidcAuthParameters.LoginId);\r\n localStorage.setItem(\"oidcLoginIdHash\", oidcAuthParameters.LoginIdHash);\r\n let fullUrl = window.location.href;\r\n let currentUrlWithoutLastSegment = fullUrl.substring(0, fullUrl.lastIndexOf('/')); // remove /login\r\n window.location.href = currentUrlWithoutLastSegment + \"/api/account/oidc-auth?id_provider=\" + oidcName\r\n + \"&login_id_hash=\" + oidcAuthParameters.LoginIdHash\r\n + \"&redirect_uri=\" + window.location.href + \"?oidc=true\";\r\n }, (error) => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n private confirmLogin() {\r\n this.userService.confirmLogin().subscribe(profile => {\r\n this.handleSuccessfulLogin(profile);\r\n }, (error: shared.ErrorResponse) => {\r\n this.loginInProgress = false;\r\n this.serverError = error.LocalizationKey;\r\n });\r\n }\r\n\r\n private handleLoginError(error: shared.ErrorResponse) {\r\n this.loginInProgress = false;\r\n if (!error) {\r\n return;\r\n }\r\n\r\n if (error.ErrorCode === 'AlreadyLoggedIn') {\r\n this.dialogService\r\n .confirmation({ onConfirmed: () => this.confirmLogin(), confirmName: 'Login.login' })\r\n .title('Login.existingSession')\r\n .messages('Login.otherSessionActive')\r\n .show();\r\n } else {\r\n this.serverError = error.LocalizationKey;\r\n }\r\n }\r\n\r\n private handleSuccessfulLogin(userProfile: accounts.UserProfile) {\r\n this.serverError = undefined;\r\n this.loginInProgress = false;\r\n\r\n this.userService.setFromProfile(userProfile);\r\n const redirectUrl = this.activatedRoute.snapshot.queryParams['url'];\r\n if (redirectUrl) {\r\n this.router.navigateByUrl(decodeURIComponent(redirectUrl));\r\n } else {\r\n this.router.navigate(['translation-jobs', 'dashboard']);\r\n }\r\n }}\r\n","\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n

Or

\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n
\r\n {{ \"Login.hadUnsupportedLanguage\" | translate }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ \"Login.errorIncompatibleVersions\" | translate:{ cpVer: config.version.customerPortal, mqsVer: config.version.memoQ } }}\r\n
\r\n
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CoreModule } from '../core/core.module';\r\n\r\nimport { LoginComponent } from './login.component';\r\nimport { LoginRoutingModule } from './login.routing';\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n LoginRoutingModule\r\n ],\r\n declarations: [LoginComponent]\r\n})\r\nexport class LoginModule { }\r\n","import { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccountGuard } from '../core/account.guard';\r\nimport { LoginComponent } from './login.component';\r\nimport { canActivatePortal } from '../core/can-activate-portal';\r\n\r\nconst routes: Routes = [{\r\n path: 'login',\r\n component: LoginComponent,\r\n canActivate: [AccountGuard, canActivatePortal]\r\n}];\r\n\r\nexport const LoginRoutingModule = RouterModule.forChild(routes);\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './customer-portal/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n"],"names":["AppComponent","constructor","translate","userService","localeService","localeGuard","setDefaultLang","setLocale$","getLocaleOrDefault","subscribe","languageLoaded","next","getCurrentUser","profile","setFromProfile","setAnonymous","_","i0","ɵɵdirectiveInject","i1","TranslateService","i2","UserService","i3","LocaleService","i4","LocaleGuard","_2","selectors","decls","vars","consts","template","AppComponent_Template","rf","ctx","ɵɵelement","ɵɵelementStart","ɵɵelementEnd","HttpClient","provideHttpClient","withInterceptorsFromDi","withXsrfConfiguration","FormsModule","BrowserModule","TranslateLoader","TranslateModule","TranslateHttpLoader","CookieModule","CoreModule","xsrfCookieName","xsrfHeaderName","AppRoutingModule","LoginModule","appConfig","apiEndpoint","pollingInterval","HttpLoaderFactory","http","AppModule","bootstrap","_3","cookieName","headerName","imports","forRoot","loader","provide","useFactory","deps","declarations","RouterModule","AccountGuard","AuthGuard","IdlePreload","canActivatePortal","routes","path","redirectTo","pathMatch","component","canActivate","loadChildren","then","m","AccountModule","TranslationJobsModule","PeopleModule","NoAccessModule","preloadingStrategy","router","route","state","user$","map","user","isAuthenticated","navigate","ɵɵinject","Router","factory","ɵfac","makeAction","name","icon","execute","isVisible","type","makeLink","generateLink","makeSpacer","isActionVisibiltyCompatible","action","current","all","value","isAction","filterRegularActions","actions","filter","AppConfigService","queryParams","url","encodeURIComponent","inject","ConfigurationService","getLoginConfig","config","portalEnabled","ReplaySubject","HttpService","ServerVersion","LoginConfig","tap","versionStream","hasVersion","loginStream","hasLoginConfig","getVersion","force","options","disableProgress","get","version","do","asObservable","pipe","loginInfo","ɵɵelementContainerStart","ɵɵtext","ɵɵadvance","ɵɵproperty","ctx_r2","getIcon","action_r2","event","ɵɵtextInterpolate","ɵɵpipeBind1","getName","ɵɵsanitizeUrl","ɵɵtemplate","ContextMenuComponent_ng_container_0_li_2_div_1_ng_template_2_a_0_Template","isLink","spacer_r4","ɵɵlistener","ContextMenuComponent_ng_container_0_li_2_div_1_Template_div_click_0_listener","ɵɵrestoreView","_r1","ɵɵnextContext","$implicit","ɵɵresetView","ContextMenuComponent_ng_container_0_li_2_div_1_ng_container_1_Template","ContextMenuComponent_ng_container_0_li_2_div_1_ng_template_2_Template","ɵɵtemplateRefExtractor","ContextMenuComponent_ng_container_0_li_2_div_1_ng_template_4_Template","ɵɵclassProp","isSpacer","linkOrSpacer_r5","ContextMenuComponent_ng_container_0_li_2_div_1_Template","ContextMenuComponent_ng_container_0_li_2_Template","locationStyle","ContextMenuComponent","service","changeDetector","ngOnInit","contextEvents$","addHighlight","isOpening","markForCheck","setTimeout","clickedOutside","close","position","left","$event","pageX","top","pageY","removeHighlight","undefined","detectChanges","host","classList","remove","add","ContextMenuService","ChangeDetectorRef","hostBindings","ContextMenuComponent_HostBindings","ContextMenuComponent_click_HostBindingHandler","ɵɵresolveDocument","ContextMenuComponent_ng_container_0_Template","Subject","contextEventStream","show","preventDefault","stopPropagation","AutofocusDirective","elementRef","nativeElement","focus","ElementRef","ctx_r0","colorClass","ɵɵtextInterpolate1","label","ButtonComponent","secondary","large","buttonClass","inputs","ButtonComponent_Template","ButtonComponent_cp_icon_1_Template","ButtonComponent_ng_template_2_Template","buttonLabel_r2","EventEmitter","UntypedFormControl","CheckboxComponent_span_3_Template_span_click_0_listener","ctx_r1","onClick","cpFormControl","errors","validate","CheckboxComponent","showErrors","handleClick","cpModelChange","checkboxClick","cpModelValue","cpModel","emit","inputId","required","outputs","CheckboxComponent_Template","CheckboxComponent_Template_span_click_2_listener","CheckboxComponent_span_3_Template","CheckboxComponent_cp_validation_error_4_Template","CommonModule","ReactiveFormsModule","DatePickerComponent","FileProgressComponent","FileUploadComponent","FileUploadDirective","FocusIndexDirective","IconComponent","InputComponent","LanguageSelectorComponent","LinkComponent","PaginatorComponent","PasswordStrengthComponent","SelectComponent","ValidationErrorComponent","exportedComponents","ControlsModule","exports","Flatpickr","ConfirmDatePlugin","setFlatpickrValue","formattedValue","formatMoment","cd","static","startFromToday","ngAfterViewInit","localeSubscription","locale$","locale","createFlatpickr","refreshModel","setLabel","ngOnDestroy","unsubscribe","flatpickr","destroy","open","parseDate","moment","isValid","Date","localeName","flatpickrLocale","time_24hr","is24Hour","enableTime","allowInput","onChange","date","setInputValue","plugins","confirmText","startDate","minDate","toDate","toDateString","flatpickrElement","length","clear","setDate","placeholder","localeData","longDateFormat","viewQuery","DatePickerComponent_Query","DatePickerComponent_Template_input_blur_1_listener","DatePickerComponent_Template_input_keyup_enter_1_listener","DatePickerComponent_Template_input_click_1_listener","DatePickerComponent_Template_button_click_3_listener","DatePickerComponent_cp_validation_error_7_Template","invalid","pluginConfig","defaultConfig","confirmIcon","fp","hooks","onKeyDown","__","___","e","key","target","amPM","confirmContainer","onReady","calendarContainer","_createElement","tabIndex","innerHTML","addEventListener","appendChild","UploadStatus","FileProgressComponent_cp_button_12_Template_cp_button_click_0_listener","onRemove","file","FileProgressComponent_cp_button_13_Template_cp_button_click_0_listener","_r3","FileProgressComponent_cp_button_14_Template_cp_button_click_0_listener","_r4","hasError","hasFailed","isDuplicate","isComplete","status","isReady","isUploading","progress","hostVars","FileProgressComponent_HostBindings","FileProgressComponent_span_3_Template","FileProgressComponent_span_4_Template","FileProgressComponent_cp_button_12_Template","FileProgressComponent_cp_button_13_Template","FileProgressComponent_cp_button_14_Template","ɵɵstyleProp","ɵɵpipeBind2","ɵɵpureFunction1","_c0","Observable","FileStatus","FileUploadService","uploadMessage","ɵɵsanitizeHtml","FileUploadComponent_ng_template_7_cp_file_progress_1_Template_cp_file_progress_remove_0_listener","removeFile","file_r4","FileUploadComponent_ng_template_7_cp_file_progress_1_Template","files","DIRECTORY_HEURISTIC_THRESHOLD","hasUploads","hasErrors","errorMessage","dialog","maxFileSize","uploadUrl","deleteUrl","deleteAllUrl","uploadFinished$","checkValidity","ngOnChanges","changes","uploadSubscription","showFileBrowser","fileInput","click","onFilesChosen","uploadFiles","fileList","from","flatMap","uploadOrError","reduce","results","processUploadResults","result","size","maxFileSizeBytes","createUploaderObservable","upload","of","defer","reader","FileReader","observable","observer","onerror","complete","onload","readAsArrayBuffer","fileResults","sizeErrors","folderErrors","push","messages","params","toString","join","ok","DialogService","FileUploadComponent_Query","ɵɵNgOnChangesFeature","FileUploadComponent_Template","FileUploadComponent_Template_div_fileDrop_0_listener","FileUploadComponent_Template_div_click_0_listener","FileUploadComponent_Template_input_change_4_listener","FileUploadComponent_div_6_Template","FileUploadComponent_ng_template_7_Template","uploadTitle","showUploads_r5","fileDrop","inDragAreaCounter","inDragArea","onDragEnter","onDragOver","dataTransfer","dropEffect","onDragLeave","onDrop","FileUploadDirective_HostBindings","FileUploadDirective_dragenter_HostBindingHandler","FileUploadDirective_dragover_HostBindingHandler","FileUploadDirective_dragleave_HostBindingHandler","FileUploadDirective_drop_HostBindingHandler","uploadFinishedStream","hasDuplicate","toUploadedFile","startNextUpload","delete","splice","findIndex","f","removeAll","nextFile","findNextUpload","uploadFile","fileToUpload","cpFocusIndex","currentIndex","parent","parentElement","offsetTop","scrollTop","scrollHeight","clientHeight","features","iconClass","IconComponent_Template","ɵɵclassMap","errorClass","explicitError","inputClass","disabled","mergedInputClass","search","disable","grow","InputComponent_Template","InputComponent_span_1_Template","ɵɵtwoWayListener","InputComponent_Template_input_ngModelChange_3_listener","ɵɵtwoWayBindingSet","InputComponent_cp_validation_error_5_Template","ɵɵtwoWayProperty","LanguageSelectorComponent_ul_0_li_1_Template_a_click_1_listener","option_r2","select","first_r4","getDisplayedLanguage","LanguageSelectorComponent_ul_0_li_1_Template","LanguageSelectorComponent_ng_template_1_Template_a_click_0_listener","_r5","selected","languageChange","isExpanded","option","code","LanguageSelectorComponent_Template","LanguageSelectorComponent_ul_0_Template","LanguageSelectorComponent_ng_template_1_Template","selectedOnly_r6","ɵɵelementContainer","LinkComponent_a_0_ng_container_2_Template","isButton","mergedLinkClass","linkContents_r2","LinkComponent_ng_template_1_a_0_ng_container_2_Template","linkClass","link","LinkComponent_ng_template_1_a_0_Template","dummyLink_r3","LinkComponent_ng_template_3_ng_container_2_Template","LinkComponent_ng_template_5_cp_icon_0_Template","linkLabel_r4","title","LinkComponent_Template","LinkComponent_a_0_Template","LinkComponent_ng_template_1_Template","LinkComponent_ng_template_3_Template","LinkComponent_ng_template_5_Template","LinkComponent_ng_template_7_Template","regularLink_r5","clamp","PaginatorComponent_a_4_Template_a_click_0_listener","page_r2","onPageChange","currentPage","itemsPerPage","pageChange","page","startIndex","endIndex","canStep","delta","newPage","pages","onStepPage","updatePages","itemCount","currentValue","Array","Math","ceil","fill","i","PaginatorComponent_Template","PaginatorComponent_Template_a_click_1_listener","PaginatorComponent_a_4_Template","PaginatorComponent_Template_a_click_5_listener","calculatePasswordStrength","getColorFor","index_r1","password_r2","PasswordStrengthComponent_div_0_div_1_Template","points","index_r4","PasswordStrengthComponent_ng_template_2_div_1_Template","strength","isStrongPassword","password$","passwordControl","valueChanges","passwordStrengthSubscription","index","password","PasswordStrengthComponent_Template","PasswordStrengthComponent_div_0_Template","PasswordStrengthComponent_ng_template_2_Template","noPassword_r5","intersect","compareByLabel","compareByValue","partialMatches","LocalizedModel","emptyPlaceholder","SelectComponent_ng_template_4_div_0_div_1_Template_a_click_2_listener","item_r5","SelectComponent_ng_template_4_div_0_div_1_Template","SelectComponent_ng_template_4_div_0_Template_input_focus_2_listener","showDropdown","SelectComponent_ng_template_4_div_0_Template_input_click_2_listener","SelectComponent_ng_template_4_div_0_Template_input_blur_2_listener","hideDropdown","SelectComponent_ng_template_4_div_0_Template_input_ngModelChange_2_listener","selection","identify","SelectComponent_ng_template_4_div_0_Template","multiple","single_r6","SelectComponent_ng_template_6_div_0_div_1_a_3_Template_a_click_0_listener","_r8","SelectComponent_ng_template_6_div_0_div_1_a_3_Template","clearable","SelectComponent_ng_template_6_div_0_ng_template_2_div_0_Template","SelectComponent_ng_template_6_div_0_Template_div_click_0_listener","_r7","SelectComponent_ng_template_6_div_0_div_1_Template","SelectComponent_ng_template_6_div_0_ng_template_2_Template","hasSelection","placeholderTemplate_r9","SelectComponent_ng_template_6_ng_template_1_Template_input_blur_0_listener","_r10","SelectComponent_ng_template_6_ng_template_1_Template_input_ngModelChange_0_listener","SelectComponent_ng_template_6_div_0_Template","SelectComponent_ng_template_6_ng_template_1_Template","isOpen","dropdownFilter_r11","SelectComponent_ul_8_li_1_Template_li_mousedown_0_listener","_r12","preventFocusLoss","SelectComponent_ul_8_li_1_Template_li_mouseenter_0_listener","index_r13","focusIndex","SelectComponent_ul_8_li_1_Template_a_click_1_listener","item_r14","focusedIndex","isSelected","SelectComponent_ul_8_li_1_Template","data","handleKeyDown","handleClosedKeypress","handleOpenKeypress","selectedOption","Error","localizedModel","stringValue","s","filterValue","currentFocused","onUpdateExisting","newIndex","item","localizedModelService","sortByLabel","selectionChange","insideSelect","selectFilterFunction","exclude","v","sort","valueSubscription","valid","updateOptions","performAutoSelect","_index","fromBlur","mainInput","onSelectionChanged","ensureDropdownOpen","slice","enter","leave","max","min","autoSelect","rawData","mappedOptions","onUpdate","updateSelection","ignoreCase","a","b","LocalizedModelService","SelectComponent_Query","SelectComponent_keydown_HostBindingHandler","SelectComponent_Template_div_mouseover_0_listener","SelectComponent_Template_div_mouseleave_0_listener","SelectComponent_label_1_Template","SelectComponent_div_3_Template","SelectComponent_ng_template_4_Template","SelectComponent_ng_template_6_Template","SelectComponent_ul_8_Template","SelectComponent_cp_validation_error_11_Template","multipleTemplate_r15","getLocalizedError","error_r1","ValidationErrorComponent_div_0_ng_container_1_Template","collapseMargin","errorKeys","error","startsWith","Object","keys","ValidationErrorComponent_Template","ValidationErrorComponent_div_0_Template","match","passwordValidator","control","passwordStrength","EmailService","FeedbackBarService","JobService","LoadingBarService","ManagerGuard","DialogComponent","FeedbackBarComponent","FooterComponent","LoaderComponent","LoadingBarComponent","NavComponent","PageComponent","PanelComponent","ProgressComponent","TableBodyRowComponent","TableBodyComponent","ColumnComponent","TableHeaderComponent","TableComponent","TooltipComponent","TooltipDirective","exportedModules","ngModule","providers","useValue","hasParams","message_r1","DialogComponent_div_0_cp_button_8_Template_cp_button_click_0_listener","action_r4","DialogComponent_div_0_div_6_Template","DialogComponent_div_0_cp_button_8_Template","dialog_r5","dialogService","dialogs$","dismiss","message","DialogComponent_Template","DialogComponent_div_0_Template","DialogBuilder","onDismiss","text","dialogStream","document","body","querySelector","build","confirmation","confirmName","onConfirmed","send","subject","addresses","window","location","href","sendToPms","listPMs","infoList","info","emailAddress","feedbackBarService","hideStream","errors$","merge","switchMap","concat","delay","startWith","hide","FeedbackBarComponent_Template","FeedbackBarComponent_Template_div_click_7_listener","tmp_2_0","LocalizationKey","Message","LocalizationParams","ɵɵtextInterpolate3","version_r1","memoQ","customerPortal","configurationService","version$","FooterComponent_Template","FooterComponent_span_4_Template","HttpEventType","HttpHeaders","defaultCallOptions","redirectOnUnauthorized","rethrowError","emitRoleError","emitGlobalError","requestOptions","responseType","headers","Accept","observe","loadEndStream","loadStartStream","errorStream","roleErrorStream","authorizationErrorStream","loadEnd$","loadStart$","roleErrors$","authorizationErrors$","request","getApiUrl","handleRequest","put","JSON","stringify","post","formData","FormData","append","reportProgress","UploadProgress","Response","round","loaded","total","optionsOrDefault","response","stopLoading","catch","handleError","extractError","throw","empty","defaultError","err","ErrorCode","IdentityProviderInfo","idpInfo","Name","displayName","DisplayName","buttonIconUrl","ButtonIconUrl","buttonBackgroundColor","ButtonBackgroundColor","buttonTextColor","ButtonTextColor","requestIdle","zone","win","requestIdleCallback","fn","runOutsideAngular","ngZone","idleCallback","preload","NgZone","signalR","loadingBar","httpService","jobSubjectMap","Map","connection","HubConnectionBuilder","withUrl","signalrUrl","initializeHub","startJob","payload","jobIdCallback","jobIdWrapper","set","JobId","connect","start","disconnect","stop","getBaseHref","base","getElementsByTagName","endsWith","on","finishLoading","State","setProgress","Progress","LoaderComponent_Template","event_r1","LoadingBarComponent_ng_container_0_div_1_Template","isProgressEvent","loadingBarService","events$","LoadingBarComponent_Template","LoadingBarComponent_ng_container_0_Template","userEventsStream","startEvents","mapTo","finishEvents","processEvent","startLoading","timer","take","isLocalized","localizationKey","isLocalizedMoment","isMoment","BehaviorSubject","firstDayOfWeek","weekdays","shorthand","weekdaysShort","longhand","months","monthsShort","cookieService","translateService","defaultLocale","localeCookieKey","localeCookieArgs","expires","localeStream","hadUnsupportedLanguageStream","hadUnsupportedLanguage$","use","setLocale","format","CookieService","collectTranslatedFields","model","field","normalizeTranslation","translation","values","localeCompare","stream","getTranslation","forEach","pair","translateAll","instant","prepareLocalizationParams","localizationParams","translatedParams","newParams","paramName","translatedParam","TimSort","defaultModelFunctions","array","descending","original","functions","updateSubscription","skip","onDestroy","onSort","identityProviderInfos","registrationEnabled","RegistrationEnabled","enterpriseUseCase","EnterpriseUseCase","PortalEnabled","loginOption","LoginOption","IdentityProviderInfos","isManager","menuRouteDefinition","matchUrl","children","manager","menuRoutes","child","NavigationEnd","item_r1","NavComponent_ng_container_6_ng_container_1_li_1_Template","menuItems","NavComponent_ng_container_6_ng_container_1_Template","user_r3","NavComponent_cp_language_selector_9_Template_cp_language_selector_languageChange_0_listener","languages","locale_r5","NavComponent_ng_container_11_ng_container_1_Template_a_click_5_listener","_r6","logout","ɵɵpureFunction0","_c1","user_r7","NavComponent_ng_container_11_ng_container_1_Template","item_r8","NavComponent_ng_container_15_ul_1_ng_container_1_li_1_Template","user_r9","NavComponent_ng_container_15_ul_1_ng_container_1_Template","subMenuItems","NavComponent_ng_container_15_ul_1_Template","_c2","NavComponent_ng_container_17_section_1_Template","user_r10","events","activeLink","find","isActive","logoutUI","NavComponent_Template","NavComponent_ng_container_6_Template","NavComponent_cp_language_selector_9_Template","NavComponent_ng_container_11_Template","NavComponent_ng_container_15_Template","NavComponent_ng_container_17_Template","subHeader","flex","fixedWidth","padding","PageComponent_HostBindings","PageComponent_h2_3_Template","ɵɵprojection","header","disableAutoTable","table","ngAfterContentInit","tableContent","panel","contentQueries","PanelComponent_ContentQueries","dirIndex","PanelComponent_ng_content_1_Template","PanelComponent_ng_template_2_Template","headerText_r2","first","second","third","ProgressComponent_Template","ProgressComponent_ng_container_0_Template","MemoQServerVersion","CustomerPortalVersion","isLabelledValue","TableBodyRowComponent_td_0_Template_td_click_0_listener","TableBodyRowComponent_td_0_Template_cp_checkbox_checkboxClick_1_listener","toggleSelection","row","TableBodyRowComponent_td_1_div_2_ng_template_2_cp_link_0_Template","isActionVisible","TableBodyRowComponent_td_1_div_2_Template_div_click_0_listener","onInlineAction","TableBodyRowComponent_td_1_div_2_cp_link_1_Template","TableBodyRowComponent_td_1_div_2_ng_template_2_Template","linkAction_r5","TableBodyRowComponent_td_1_div_2_Template","actionClass","inlineActions","getDisplayedValue","column_r6","TableBodyRowComponent_td_2_ng_template_2_ng_container_0_Template","ɵɵpureFunction2","TableBodyRowComponent_td_2_ng_container_1_Template","TableBodyRowComponent_td_2_ng_template_2_Template","hasSecondaryRow","getColumnClass","cellTemplate_r7","actionClasses","inlineAction","trackColumn","has","column","bodyClass","calculateBodyClass","columnClass","$$fields","columns","hideSelection","hideActions","attrs","TableBodyRowComponent_Template","TableBodyRowComponent_td_0_Template","TableBodyRowComponent_td_1_Template","TableBodyRowComponent_td_2_Template","TableBodyComponent_tr_1_ng_container_2_Template","secondaryRow","element","rowClass","TableBodyComponent_Template","TableBodyComponent_Template_tr_toggleSelection_0_listener","TableBodyComponent_Template_tr_inlineAction_0_listener","TableBodyComponent_tr_1_Template","TemplateRef","sortable","ColumnComponent_ContentQueries","TableHeaderComponent_td_1_Template_cp_checkbox_checkboxClick_1_listener","toggleAll","isAllSelected","getSortIcon","column_r4","TableHeaderComponent_td_3_Template_td_click_0_listener","TableHeaderComponent_td_3_span_5_Template","regular","ascending","headerClass","isCurrentSortKey","sortedBy","TableHeaderComponent_Template","TableHeaderComponent_td_1_Template","TableHeaderComponent_td_2_Template","TableHeaderComponent_td_3_Template","TableComponent_div_0_ng_container_2_ng_container_1_Template","caption","TableComponent_div_0_cp_input_3_Template_cp_input_cpModelChange_0_listener","_r2","onFilterChange","TableComponent_div_0_cp_select_4_Template_cp_select_selectionChange_0_listener","onDropdownFilterChange","dropdownFilterOptions","dropdownFilterPlaceholder","TableComponent_div_0_ng_container_2_Template","TableComponent_div_0_cp_input_3_Template","TableComponent_div_0_cp_select_4_Template","dropdownFilter","rows","TableComponent_table_1_thead_1_Template_thead_toggleAll_0_listener","TableComponent_table_1_thead_1_Template_thead_sort_0_listener","TableComponent_table_1_tbody_2_Template_tbody_click_0_listener","row_r6","onRowClick","TableComponent_table_1_tbody_2_Template_tbody_contextmenu_0_listener","rowElement_r7","ɵɵreference","onContextMenu","TableComponent_table_1_tbody_2_Template_tbody_toggleSelection_0_listener","TableComponent_table_1_tbody_2_Template_tbody_inlineAction_0_listener","onActionClicked","visibleSelection","tooltip","TableComponent_table_1_thead_1_Template","TableComponent_table_1_tbody_2_Template","autoColumns","tableClass","hideHeaders","visibleRows","TableComponent_cp_paginator_2_Template_cp_paginator_pageChange_0_listener","modelRows","pagination","theme","every","showPaginator","modelTranslator","contextMenu","rowClick","dropdownFilterValue","isExcluded","tableSortFunction","isIncluded","updatePaginatedRows","preprocessRows","filterSubscription","updateDropdownFilterOptions","pruneSelections","pruneVisibleSelections","some","getSelection","getField","resolveFieldByName","fieldName","split","newSelection","newVisibleSelection","Set","TableComponent_ContentQueries","TableComponent_div_0_Template","TableComponent_table_1_Template","TableComponent_cp_paginator_2_Template","positionSelf","$element","positionElements","margin","className","popupClass","setPosition","hostRect","getBoundingClientRect","hostPosition","pageYOffset","pageXOffset","getInnerHeight","calculateHorizontalCenter","getHeight","calculateVerticalCenter","getInnerWidth","getWidth","style","getComputedStyle","offsetHeight","parseInt","borderTopWidth","borderBottomWidth","paddingTop","paddingBottom","offsetWidth","borderLeftWidth","borderRightWidth","paddingLeft","paddingRight","content","TooltipComponent_Template","TooltipComponent_ng_container_1_Template","viewContainer","cfr","tooltipEnabled","isHovering","onMouseOver","showTooltip","tooltipOptions","hoverDelay","onMouseOut","hideTooltip","removeEventListener","cpTooltip","tooltipContentFactory","resolveComponentFactory","createComponent","instance","ViewContainerRef","ComponentFactoryResolver","convertContactRole","role","getLocalizedContactRole","PmInfo","EmailAddress","User","email","isRequester","isObserver","OidcLoginParameters","userStream","updateRole","update","IsAuthenticated","Email","Role","login","EMail","Password","confirmLogin","logoutWithOptions","race","zip","infos","changePassword","NewPassword","newPassword","OldPassword","oldPassword","getOidcAuthParameters","oidcLogin","loginId","LoginId","except","comparer","hasOwnProperty","hasValue","compare","sortOrder","isSame","isAfter","lhs","rhs","toLocaleLowerCase","indexOf","Subscription","pollGeneric","manualRefresh","initial","followUp","poll","interval","pollVersionedData","newData","momentUtcToLocal","subtract","utc","local","momentLocalToUtc","toISOString","Validators","LoginComponent_cp_page_0_ng_container_1_ng_container_3_Template_cp_button_click_3_listener","emailControl","serverError","LoginComponent_cp_page_0_ng_container_1_div_5_div_1_Template","config_r3","LoginComponent_cp_page_0_ng_container_1_div_6_div_1_Template","LoginComponent_cp_page_0_ng_container_1_div_7_li_3_Template_button_click_1_listener","idp_r5","oidcAuth","ɵɵpropertyInterpolate","ɵɵtextInterpolate2","prefixLabel","LoginComponent_cp_page_0_ng_container_1_div_7_p_1_Template","LoginComponent_cp_page_0_ng_container_1_div_7_li_3_Template","Both","LoginComponent_cp_page_0_ng_container_1_ng_container_3_Template","LoginComponent_cp_page_0_ng_container_1_cp_validation_error_4_Template","LoginComponent_cp_page_0_ng_container_1_div_5_Template","LoginComponent_cp_page_0_ng_container_1_div_6_Template","LoginComponent_cp_page_0_ng_container_1_div_7_Template","LoginComponent_cp_page_0_ng_container_1_div_8_Template","form","MemoQ","SSO","LoginComponent_cp_page_0_ng_container_1_Template","LoginComponent_cp_page_0_ng_template_2_Template","isServerCompatible","notCompatible_r6","LoginComponent","configuration","activatedRoute","fb","loginInProgress","group","config$","localStorage","getItem","handleLoginError","formSubscription","mqParts","cpParts","oidcName","oidcAuthParameters","setItem","LoginIdHash","fullUrl","currentUrlWithoutLastSegment","substring","lastIndexOf","console","log","handleSuccessfulLogin","userProfile","redirectUrl","snapshot","navigateByUrl","decodeURIComponent","ActivatedRoute","i5","i6","UntypedFormBuilder","LoginComponent_Template","LoginComponent_cp_page_0_Template","LoginRoutingModule","forChild","environment","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}