{"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/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/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/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/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, HttpClientModule, HttpClientXsrfModule } 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({\r\n declarations: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n HttpClientXsrfModule.withOptions({ cookieName: xsrfCookieName, headerName: xsrfHeaderName }),\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\r\n ],\r\n bootstrap: [AppComponent]\r\n})\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\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] }\r\n ,{\r\n path: 'account',\r\n loadChildren: () => import('./account/account.module').then(m => m.AccountModule),\r\n canActivate: [LocaleGuard]\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]\r\n}, {\r\n path: 'people',\r\n loadChildren: () => import('./people/people.module').then(m => m.PeopleModule),\r\n canActivate: [AuthGuard, 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 { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from './util/rxjs';\r\n\r\nimport { HttpService } from './http.service';\r\n\r\nexport 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}\r\n\r\nexport class LoginConfig {\r\n version: ServerVersion;\r\n registrationEnabled: boolean;\r\n enterpriseUseCase: boolean;\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 }\r\n}\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\r\n constructor(private http: HttpService) {}\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)\r\n .map(version => new LoginConfig(version))\r\n .do(() => 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\r\n \r\n \r\n \r\n \r\n {{getName(action, event.value) | translate}}\r\n \r\n \r\n \r\n \r\n \r\n {{getName(action, event.value) | 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\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 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\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 {{label | translate}}\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\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 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 {{label | translate}}\r\n \r\n \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(option) | translate}}\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","\r\n \r\n {{'Controls.previous' | translate}}\r\n \r\n\r\n \r\n {{page + 1}}\r\n \r\n\r\n \r\n {{'Controls.next' | translate}}\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 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 {{label | translate}}\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 {{item.label}}\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","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, ServerVersion } from '../configuration.service';\r\nimport { Observable } from '../util/rxjs';\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","import {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpEventType,\r\n HttpHeaders,\r\n HttpResponse\r\n} 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","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 { hubConnection } from 'signalr-no-jquery';\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 webJobHub: any;\r\n\r\n private jobSubjectMap = new Map>();\r\n\r\n constructor(private loadingBar: LoadingBarService, private httpService: HttpService) {\r\n this.connection = hubConnection(this.signalrUrl, { useDefaultPath: false });\r\n this.webJobHub = this.connection.createHubProxy('webJobHub');\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 cancelJob(jobId: string) {\r\n this.jobSubjectMap.delete(jobId);\r\n return this.httpService.post('canceljob', { jobId });\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.webJobHub.on('onJobFinished', (response: shared.WebJobResponse) => {\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.webJobHub.on('onJobProgressChanged', (progress: shared.WebJobProgress) => {\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()\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 { 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 \r\n \r\n {{item.name | 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 {{user.name}}\r\n \r\n \r\n {{'Menu.logout' | 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 {{item.name | translate}}\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 * 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","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","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 } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ConfigurationService, LoginConfig } 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\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 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 this.formSubscription = this.form.valueChanges.subscribe(() => this.serverError = undefined);\r\n }\r\n\r\n ngOnInit() {\r\n this.config$ = this.configuration.getLoginConfig(true);\r\n this.hadUnsupportedLanguage$ = this.localeService.hadUnsupportedLanguage$;\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 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 {{\"Common.mqsVersion\" | translate:{value: config.version.memoQ} }}\r\n {{\"Common.cpVersion\" | translate:{value: config.version.customerPortal} }}\r\n {{\"Common.copyright\" | 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 \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\n\r\nconst routes: Routes = [{\r\n path: 'login',\r\n component: LoginComponent,\r\n canActivate: [AccountGuard]\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","HttpClientModule","HttpClientXsrfModule","FormsModule","BrowserModule","TranslateLoader","TranslateModule","TranslateHttpLoader","CookieModule","CoreModule","xsrfCookieName","xsrfHeaderName","AppRoutingModule","LoginModule","appConfig","apiEndpoint","pollingInterval","HttpLoaderFactory","http","AppModule","bootstrap","_3","withOptions","cookieName","headerName","forRoot","loader","provide","useFactory","deps","declarations","imports","RouterModule","i5","AccountGuard","AuthGuard","IdlePreload","routes","path","redirectTo","pathMatch","component","canActivate","loadChildren","then","m","AccountModule","TranslationJobsModule","PeopleModule","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","ReplaySubject","ServerVersion","version","memoQ","MemoQServerVersion","customerPortal","CustomerPortalVersion","LoginConfig","config","registrationEnabled","RegistrationEnabled","enterpriseUseCase","EnterpriseUseCase","ConfigurationService","versionStream","hasVersion","loginStream","hasLoginConfig","getVersion","force","options","disableProgress","get","do","asObservable","getLoginConfig","loginInfo","HttpService","ɵɵelementContainerStart","ɵɵtext","ɵɵelementContainerEnd","ɵɵadvance","ɵɵproperty","ctx_r4","getIcon","action_r2","event","ɵɵtextInterpolate","ɵɵpipeBind1","getName","ctx_r10","ɵɵsanitizeUrl","ɵɵtemplate","ContextMenuComponent_ng_container_0_li_2_div_1_ng_template_2_a_0_Template","ctx_r5","isLink","_r8","ɵɵlistener","ContextMenuComponent_ng_container_0_li_2_div_1_Template_div_click_0_listener","ɵɵrestoreView","_r15","ɵɵnextContext","$implicit","ctx_r13","ɵɵ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","ctx_r3","isSpacer","_r6","ContextMenuComponent_ng_container_0_li_2_div_1_Template","ctx_r1","ContextMenuComponent_ng_container_0_li_2_Template","ctx_r0","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","ɵɵresolveDocument","ContextMenuComponent_ng_container_0_Template","Subject","contextEventStream","show","preventDefault","stopPropagation","AutofocusDirective","elementRef","nativeElement","focus","ElementRef","colorClass","ɵɵtextInterpolate1","label","ButtonComponent","secondary","buttonClass","inputs","ButtonComponent_Template","ButtonComponent_cp_icon_1_Template","ButtonComponent_ng_template_2_Template","_r2","EventEmitter","UntypedFormControl","CheckboxComponent_span_3_Template_span_click_0_listener","_r3","ctx_r2","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","ɵɵattribute","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","ctx_r7","FileProgressComponent_cp_button_14_Template_cp_button_click_0_listener","_r10","ctx_r9","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","_r7","ctx_r6","removeFile","file_r5","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","fileDrop","inDragAreaCounter","inDragArea","onDragEnter","onDragOver","dataTransfer","dropEffect","onDragLeave","onDrop","FileUploadDirective_HostBindings","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","InputComponent_Template_input_ngModelChange_3_listener","InputComponent_cp_validation_error_5_Template","LanguageSelectorComponent_ul_0_li_1_Template_a_click_1_listener","restoredCtx","option_r4","select","first_r5","getDisplayedLanguage","LanguageSelectorComponent_ul_0_li_1_Template","LanguageSelectorComponent_ng_template_1_Template_a_click_0_listener","_r9","ctx_r8","selected","languageChange","isExpanded","option","code","LanguageSelectorComponent_Template","LanguageSelectorComponent_ul_0_Template","LanguageSelectorComponent_ng_template_1_Template","ɵɵelementContainer","LinkComponent_a_0_ng_container_2_Template","isButton","mergedLinkClass","title","LinkComponent_ng_template_1_a_0_ng_container_2_Template","linkClass","link","LinkComponent_ng_template_1_a_0_Template","_r4","LinkComponent_ng_template_3_ng_container_2_Template","LinkComponent_ng_template_5_cp_icon_0_Template","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","clamp","PaginatorComponent_a_4_Template_a_click_0_listener","page_r1","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_r6","password_r3","PasswordStrengthComponent_div_0_div_1_Template","points","index_r10","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","intersect","compareByLabel","compareByValue","partialMatches","LocalizedModel","emptyPlaceholder","SelectComponent_ng_template_4_div_0_div_1_Template_a_click_2_listener","_r14","item_r12","SelectComponent_ng_template_4_div_0_div_1_Template","SelectComponent_ng_template_4_div_0_Template_input_focus_2_listener","_r16","ctx_r15","showDropdown","SelectComponent_ng_template_4_div_0_Template_input_click_2_listener","ctx_r17","SelectComponent_ng_template_4_div_0_Template_input_blur_2_listener","ctx_r18","hideDropdown","SelectComponent_ng_template_4_div_0_Template_input_ngModelChange_2_listener","ctx_r19","selection","identify","hasSelection","SelectComponent_ng_template_4_div_0_Template","multiple","_r5","SelectComponent_ng_template_6_div_0_div_1_a_3_Template_a_click_0_listener","_r28","ctx_r27","SelectComponent_ng_template_6_div_0_div_1_a_3_Template","ctx_r23","clearable","ctx_r29","SelectComponent_ng_template_6_div_0_ng_template_2_div_0_Template","ctx_r24","SelectComponent_ng_template_6_div_0_Template_div_click_0_listener","_r31","ctx_r30","SelectComponent_ng_template_6_div_0_div_1_Template","SelectComponent_ng_template_6_div_0_ng_template_2_Template","ctx_r20","_r25","SelectComponent_ng_template_6_ng_template_1_Template_input_blur_0_listener","_r34","ctx_r33","SelectComponent_ng_template_6_ng_template_1_Template_input_ngModelChange_0_listener","ctx_r35","ctx_r21","SelectComponent_ng_template_6_div_0_Template","SelectComponent_ng_template_6_ng_template_1_Template","isOpen","_r22","SelectComponent_ul_8_li_1_Template_li_mousedown_0_listener","_r40","ctx_r39","preventFocusLoss","SelectComponent_ul_8_li_1_Template_li_mouseenter_0_listener","index_r38","ctx_r41","focusIndex","SelectComponent_ul_8_li_1_Template_a_click_1_listener","item_r37","ctx_r42","ctx_r36","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_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","getLocalizedError","error_r2","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_r4","DialogComponent_div_0_cp_button_8_Template_cp_button_click_0_listener","action_r5","DialogComponent_div_0_div_6_Template","DialogComponent_div_0_cp_button_8_Template","dialog_r1","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","configurationService","version$","FooterComponent_Template","FooterComponent_span_1_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","requestIdle","zone","win","requestIdleCallback","fn","runOutsideAngular","ngZone","idleCallback","preload","NgZone","hubConnection","loadingBar","httpService","jobSubjectMap","Map","connection","signalrUrl","useDefaultPath","webJobHub","createHubProxy","initializeHub","startJob","payload","jobIdCallback","jobIdWrapper","set","jobId","cancelJob","connect","start","disconnect","stop","getBaseHref","base","getElementsByTagName","endsWith","on","finishLoading","JobId","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","stream","getTranslation","forEach","pair","translateAll","instant","prepareLocalizationParams","localizationParams","translatedParams","newParams","paramName","translatedParam","TimSort","defaultModelFunctions","array","descending","original","functions","updateSubscription","skip","onDestroy","onSort","isManager","menuRouteDefinition","matchUrl","children","manager","menuRoutes","child","NavigationEnd","item_r8","NavComponent_ng_container_6_ng_container_1_li_1_Template","menuItems","NavComponent_ng_container_6_ng_container_1_Template","user_r5","NavComponent_cp_language_selector_9_Template_cp_language_selector_languageChange_0_listener","_r11","languages","locale_r9","NavComponent_ng_container_11_ng_container_1_Template_a_click_5_listener","ctx_r14","logout","ɵɵpureFunction0","user_r12","NavComponent_ng_container_11_ng_container_1_Template","item_r20","NavComponent_ng_container_15_ul_1_ng_container_1_li_1_Template","user_r17","NavComponent_ng_container_15_ul_1_ng_container_1_Template","subMenuItems","NavComponent_ng_container_15_ul_1_Template","_c1","NavComponent_ng_container_17_section_1_Template","user_r24","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","_c2","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","first","second","third","ProgressComponent_Template","ProgressComponent_ng_container_0_Template","isLabelledValue","TableBodyRowComponent_td_0_Template_td_click_0_listener","TableBodyRowComponent_td_0_Template_cp_checkbox_checkboxClick_1_listener","toggleSelection","row","action_r7","ctx_r12","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","TableBodyRowComponent_td_1_div_2_Template","actionClass","inlineActions","getDisplayedValue","column_r17","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","_r20","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_r5","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","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","ctx_r11","TableComponent_table_1_tbody_2_Template_tbody_click_0_listener","_r19","row_r16","onRowClick","TableComponent_table_1_tbody_2_Template_tbody_contextmenu_0_listener","_r17","ɵɵreference","onContextMenu","TableComponent_table_1_tbody_2_Template_tbody_toggleSelection_0_listener","TableComponent_table_1_tbody_2_Template_tbody_inlineAction_0_listener","ctx_r22","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","_r24","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","Name","EmailAddress","User","email","isRequester","isObserver","userStream","updateRole","update","IsAuthenticated","Email","Role","login","EMail","Password","confirmLogin","logoutWithOptions","race","zip","pipe","infos","changePassword","NewPassword","newPassword","OldPassword","oldPassword","except","comparer","hasOwnProperty","hasValue","compare","sortOrder","localeCompare","isSame","isAfter","lhs","rhs","toLocaleLowerCase","indexOf","Subscription","pollGeneric","manualRefresh","initial","followUp","poll","interval","pollVersionedData","newData","momentUtcToLocal","subtract","utc","local","momentLocalToUtc","toISOString","Validators","serverError","LoginComponent_cp_page_0_ng_container_1_Template_cp_button_click_18_listener","LoginComponent_cp_page_0_ng_container_1_cp_validation_error_19_Template","LoginComponent_cp_page_0_ng_container_1_div_21_Template","LoginComponent_cp_page_0_ng_container_1_div_24_Template","config_r1","form","emailControl","_c3","LoginComponent_cp_page_0_ng_container_1_Template","LoginComponent_cp_page_0_ng_template_2_Template","isServerCompatible","LoginComponent","configuration","activatedRoute","fb","loginInProgress","group","formSubscription","config$","mqParts","cpParts","handleLoginError","handleSuccessfulLogin","userProfile","redirectUrl","snapshot","navigateByUrl","decodeURIComponent","ActivatedRoute","i6","UntypedFormBuilder","LoginComponent_Template","LoginComponent_cp_page_0_Template","LoginRoutingModule","forChild","environment","production","enableProdMode","__NgCli_bootstrap_1","platformBrowser","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}